JavaScriptがinsertAfterソリューションに欠けています。
1658 ワード
既存の方法の後に新しい要素を挿入すると、insertBeforeの方法がある以上、対応するinsertAfter()の方法もあるのではないかと思うかもしれません。残念ながら、DOMは方法を提供していません。
以下でinsertAfter関数を作成します。DOM自体は提供していませんが、一つのノードを別のノードに挿入した後、すべてのツールを提供しています。既存のDOM方法と属性を利用してinsertAfter関数を作成することができます。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
以下でinsertAfter関数を作成します。DOM自体は提供していませんが、一つのノードを別のノードに挿入した後、すべてのツールを提供しています。既存のDOM方法と属性を利用してinsertAfter関数を作成することができます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
既存の方法の後に新しい要素を挿入すると、insertBeforeの方法がある以上、対応するinsertAfter()の方法もあるのではないかと思うかもしれません。残念ながら、DOMは方法を提供していません。以下でinsertAfter関数を作成します。DOM自体は提供していませんが、一つのノードを別のノードに挿入した後、すべてのツールを提供しています。既存のDOM方法と属性を利用してinsertAfter関数を作成することができます。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
var p = document.createElement('p');
var txt = document.createTextNode(' ');
p.appendChild(txt);
var lis = document.getElementsByTagName('li');
//insertAfter(p,lis[0])
</script>
</body>
</html>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。