Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung der JavaScript-Knoten- und Listenoperationsbeispiele_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 15:47:19
Original
1123 Leute haben es durchsucht

Die Beispiele in diesem Artikel fassen die Methoden von JavaScript-Knoten- und Listenoperationen zusammen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

(1) Neuen Knoten erstellen

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

Nach dem Login kopieren

(2) Hinzufügen, entfernen, ersetzen, einfügen

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

Nach dem Login kopieren

(3) Suchen

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

Nach dem Login kopieren

HTML-Beispiele zur Verwendung in diesem Abschnitt

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

Nach dem Login kopieren

1. Elementknoten erstellen

Die Methode document.createElement() wird zum Erstellen von Elementen verwendet, akzeptiert einen Parameter, nämlich den Tag-Namen des zu erstellenden Elements, und gibt den erstellten Elementknoten zurück

var div = document.createElement("div"); //创建一个div元素
div.id = "myDiv"; //设置div的id
div.className = "box"; //设置div的class
Nach dem Login kopieren

Nachdem Sie das Element erstellt haben, müssen Sie es auch zum Dokumentenbaum hinzufügen

2. Elementknoten hinzufügen

Die Methode appendChild() wird verwendet, um einen Knoten am Ende der childNodes-Liste hinzuzufügen, und gibt den hinzuzufügenden Elementknoten zurück

var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML = "项目四"; //向li内添加文本
ul.appendChild(li); //把li 添加到ul子节点的末尾
Nach dem Login kopieren

Nach dem Hinzufügen:

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

Nach dem Login kopieren
Nach dem Login kopieren

Die appendChild()-Methode kann auch ein vorhandenes Element hinzufügen und das Element von seiner ursprünglichen Position an eine neue Position verschieben

var ul = document.getElementById("myList"); //获得ul
ul.appendChild(ul.firstChild); //把ul的第一个元素节点移到ul子节点的末尾
Nach dem Login kopieren

Nach dem Laufen (IE):

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

Nach dem Login kopieren

insertBefore()-Methode: Wenn Sie den Knoten nicht am Ende einfügen, sondern an einer bestimmten Position platzieren möchten, verwenden Sie diese Methode. Diese Methode akzeptiert 2 Parameter, der erste ist der einzufügende Knoten und der Der zweite ist der Referenzknoten und gibt den hinzuzufügenden Elementknoten zurück

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

Nach dem Login kopieren

Nach dem Hinzufügen:

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

Nach dem Login kopieren
var ul = document.getElementById("myList"); //获得ul
var li = document.createElement("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
ul.insertBefore(li,ul.lastChild); //把li添加到ul的子节点末尾

Nach dem Login kopieren

Nach dem Hinzufügen:

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

Nach dem Login kopieren
Nach dem Login kopieren
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节点前

Nach dem Login kopieren

Nach dem Hinzufügen:

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

Nach dem Login kopieren

3. Elementknoten entfernen

Die

removeChild()-Methode, die zum Entfernen von Knoten verwendet wird, akzeptiert einen Parameter, nämlich den zu entfernenden Knoten, und gibt den entfernten Knoten zurück. Beachten Sie, dass sich der entfernte Knoten noch im Dokument befindet, seine Position jedoch nicht mehr Dokument.

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,与上面不同,要考虑浏览器之间的差异

Nach dem Login kopieren

4. Elementknoten ersetzen

replaceChild()-Methode, die zum Ersetzen von Knoten verwendet wird, akzeptiert zwei Parameter, der erste Parameter ist der einzufügende Knoten, der zweite Parameter ist der zu ersetzende Knoten und gibt den ersetzten Knoten zurück

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

Nach dem Login kopieren

5. Knoten kopieren

cloneNode()-Methode, die zum Kopieren von Knoten verwendet wird, akzeptiert einen booleschen Parameter, true bedeutet tiefe Kopie (Kopieren des Knotens und aller seiner untergeordneten Knoten), false bedeutet flache Kopie (kopieren Sie den Knoten selbst, nicht die untergeordneten Knoten)

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

Nach dem Login kopieren

Das Folgende ist ein vollständiges Beispiel für die Erstellung eines Listenprojekts mit JavaScript und das Kopieren untergeordneter Knoten:

Dieser JavaScript-Code zeigt Listenelemente an und erstellt sie, kopiert untergeordnete Knoten und kopiert Knotenbäume. Dies ist ein sehr nützliches Beispiel, insbesondere beim Erstellen von Baummenüs.

Der Betriebseffekt ist wie folgt:

Der spezifische Code lautet wie folgt:

<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>
Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!