Maison > interface Web > js tutoriel > le corps du texte

Résumé des exemples d'opérations de nœud et de liste JavaScript_compétences Javascript

WBOY
Libérer: 2016-05-16 15:47:19
original
1125 Les gens l'ont consulté

Les exemples de cet article résument les méthodes d'opérations de nœuds et de listes JavaScript. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

(1) Créer un nouveau nœud

createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点

Copier après la connexion

(2) Ajouter, supprimer, remplacer, insérer

appendChild()
removeChild()
replaceChild()
insertBefore()

Copier après la connexion

(3) Recherche

getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性

Copier après la connexion

Exemples HTML à utiliser dans cette section

<ul id="myList">
<li>项目一</li>
<li>项目二</li>
<li>项目三</li>
</ul>

Copier après la connexion

1. Créer un nœud d'élément

La méthode document.createElement() est utilisée pour créer des éléments, accepte un paramètre, qui est le nom de la balise de l'élément à créer, et renvoie le nœud de l'élément créé

var div = document.createElement("div"); //创建一个div元素
div.id = "myDiv"; //设置div的id
div.className = "box"; //设置div的class
Copier après la connexion

Après avoir créé l'élément, vous devez également ajouter l'élément à l'arborescence du document

2. Ajouter un nœud d'élément

La méthode appendChild() est utilisée pour ajouter un nœud à la fin de la liste childNodes et renvoie le nœud d'élément à ajouter

var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML = "项目四"; //向li内添加文本
ul.appendChild(li); //把li 添加到ul子节点的末尾
Copier après la connexion

Après avoir ajouté :

<ul id="myList">
<li>项目一</li>
<li>项目二</li>
<li>项目三</li>
<li>项目四</li>
</ul>

Copier après la connexion
Copier après la connexion

La méthode appendChild() peut également ajouter un élément existant et déplacer l'élément de sa position d'origine vers une nouvelle position

var ul = document.getElementById("myList"); //获得ul
ul.appendChild(ul.firstChild); //把ul的第一个元素节点移到ul子节点的末尾
Copier après la connexion

Après l'exécution (IE) :

<ul id="myList">
<li>项目二</li>
<li>项目三</li>
<li>项目一</li>
</ul>

Copier après la connexion

Méthode insertBefore(), si vous n'insérez pas le nœud à la fin, mais souhaitez le placer à une position précise, utilisez cette méthode. Cette méthode accepte 2 paramètres, le premier est le nœud à insérer, et le. le second est le nœud de référence, renvoie le nœud d'élément à ajouter

var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
ul.insertBefore(li,ul.firstChild); //把li添加到ul的第一个子节点前

Copier après la connexion

Après avoir ajouté :

<ul id="myList">
<li>项目四</li>
<li>项目一</li>
<li>项目二</li>
<li>项目三</li>
</ul>

Copier après la connexion
var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
ul.insertBefore(li,ul.lastChild); //把li添加到ul的子节点末尾

Copier après la connexion

Après avoir ajouté :

<ul id="myList">
<li>项目一</li>
<li>项目二</li>
<li>项目三</li>
<li>项目四</li>
</ul>

Copier après la connexion
Copier après la connexion
var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
var lis = ul.getElementsByTagName("li") //获取ul中所有li的集合
ul.insertBefore(li,lis[1]); //把li添加到ul中的第二个li节点前

Copier après la connexion

Après avoir ajouté :

<ul id="myList">
<li>项目一</li>
<li>项目四</li>
<li>项目二</li>
<li>项目三</li>
</ul>

Copier après la connexion

3. Supprimer le nœud d'élément

La méthode RemoveChild(), utilisée pour supprimer des nœuds, accepte un paramètre, qui est le nœud à supprimer, et renvoie le nœud supprimé. Notez que le nœud supprimé est toujours dans le document, mais sa position n'est plus dans le document. documenter

var ul = document.getElementById("myList"); //获得ul
var fromFirstChild = ul.removeChild(ul.firstChild); //移除ul第一个子节点
var ul = document.getElementById("myList"); //获得ul
var lis = ul.getElementsByTagName("li") //获取ul中所有li的集合
ul.removeChild(lis[0]); //移除第一个li,与上面不同,要考虑浏览器之间的差异

Copier après la connexion

4. Remplacer le nœud d'élément

La méthode replaceChild(), utilisée pour remplacer des nœuds, accepte deux paramètres, le premier paramètre est le nœud à insérer, le deuxième paramètre est le nœud à remplacer et renvoie le nœud remplacé

var ul = document.getElementById("myList"); //获得ul
var fromFirstChild = ul.replaceChild(ul.firstChild); //替换ul第一个子节点
var ul = document.getElementById("myList"); //获得ul;
var li = document.createElement("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
var lis = ul.getElementsByTagName("li") //获取ul中所有li的集合
var returnNode = ul.replaceChild(li,lis[1]); //用创建的li替换原来的第二个li

Copier après la connexion

5. Copier le nœud

La méthode cloneNode(), utilisée pour copier des nœuds, accepte un paramètre booléen, true signifie copie complète (copier le nœud et tous ses nœuds enfants), false signifie copie superficielle (copier le nœud lui-même, pas copier les nœuds enfants)

var ul = document.getElementById("myList"); //获得ul
var deepList = ul.cloneNode(true); //深复制
var shallowList = ul.cloneNode(false); //浅复制

Copier après la connexion

Ce qui suit est un exemple complet de création d'un projet de liste à l'aide de JavaScript et de copie de nœuds enfants :

Ce code JavaScript affiche et crée des éléments de liste, copie les nœuds enfants et copie les arborescences de nœuds. C'est un exemple très utile, particulièrement utile lors de la création de menus arborescents.

L'effet de l'opération est comme indiqué ci-dessous :

Le code spécifique est le suivant :

<html>
<head>
<title>建立列表项目</title>
<script language="JavaScript">
function printChilds(objNode) {
  var strMsg = "节点名称 =" + objNode.nodeName + "\n";
  if (objNode.hasChildNodes()){
   var nodeCount = objNode.childNodes.length;
   strMsg += "子节点数 = " + objNode.childNodes.length + "\n";
   for(var i = 0; i < nodeCount; i++)
     strMsg += "标记名称 = " + objNode.childNodes[i].nodeName + "\n";
   alert(strMsg);
  }
}
function copyNode(objNode, objDupNode, deep){
  var tempNode = objDupNode.cloneNode(deep);
  objNode.appendChild(tempNode);
}
</script>
</haed>
<body id="myBody">
<h2>建立列表项目</h2>
<hr>
<ul id="myUL">
  <li>项目1
  <li>项目2
   <ol id="myOL">
     <li>次项目1
     <li>次项目2
   </ol>
  <li>项目3
</ul>
<form>
<input type="button" value="显示列表的子节点" onclick="printChilds(myUL)">
<input type="button" value="复制节点" onclick="copyNode(myUL, myUL.childNodes[1], false)">
<input type="button" value="复制节点树" onclick="copyNode(myUL.lastChild, myOL, true)">
</form>
</body>
</html>
Copier après la connexion

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!