Heim >Web-Frontend >Front-End-Fragen und Antworten >So ändern Sie DOM-Knoten mit JavaScript
Bei der Entwicklung von Webanwendungen ist JavaScript zu einem unverzichtbaren Bestandteil geworden. Mit JavaScript können Webinhalte verändert und dynamische Effekte erzielt werden. Unter diesen ist die Änderung des DOM ein sehr wichtiger Teil, da es der Schlüssel zur Interaktion mit der Webseite ist.
Was ist DOM?
DOM ist das Document Object Model, eine Baumstrukturdarstellung eines HTML-Dokuments. In diesem Dokument ist jedes HTML-Element ein Knoten, wie zum Beispiel: ,
usw. Diese Knoten können untergeordnete Knoten und Attribute haben. Der Knoten
kann beispielsweise untergeordnete Knoten enthalten, und er kann auch Attribute wie Klasse, ID usw. haben. JavaScript verändert den Inhalt der Webseite, indem es diese Knoten manipuliert.
Wie wähle ich Knoten aus?
Um das DOM zu manipulieren, müssen wir Knoten auswählen. Dies kann auf verschiedene Arten erreicht werden, die wichtigsten sind die folgenden: Die Methode kann einen Knoten basierend auf der angegebenen ID auswählen. Wie unten gezeigt:
var myNode = document.getElementById("myNode");
Um einen oder mehrere Knoten mit demselben Klassenattribut auszuwählen, können Sie die Methode getElementsByClassName() verwenden. Wie unten gezeigt:
var myNodes = document.getElementsByClassName("classNode");
Um alle Knoten mit angegebenen Tag-Namen auszuwählen, können Sie die Methode getElementsByTagName() verwenden. Wie unten gezeigt:
var myNodes = document.getElementsByTagName("p");
-Tags im Dokument aus.
Das innerHTML-Attribut abrufen oder festlegen
Sie können die Methode getInnerHTML() verwenden um das innerHTML der Knoteneigenschaft abzurufen. Sie können auch die Methode setInnerHTML() verwenden, um die innerHTML-Eigenschaft eines Knotens festzulegen. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的innerHTML属性 var myNodeInnerHTML = myNode.innerHTML; // 设置节点的innerHTML属性 myNode.innerHTML = "新的HTML内容";
Um das innerText-Attribut abzurufen, können Sie die Methode getInnerText() verwenden. und um das innerText-Attribut festzulegen, können Sie die Methode setInnerText () verwenden. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的innerText属性 var myNodeInnerText = myNode.innerText; // 设置节点的innerText属性 myNode.innerText = "新的文本内容";
nodeType-Attribut gibt den Typ des aktuellen Knotens zurück, Sie können getNodeType verwenden ()-Methode, um das Knotenattribut nodeType abzurufen. Sie können auch die Methode setNodeType() verwenden, um das nodeType-Attribut eines Knotens festzulegen. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的nodeType属性 var myNodeType = myNode.nodeType; // 设置节点的nodeType属性 myNode.nodeType = 1;
nodeName-Attribut gibt den Namen des Knotens zurück, Sie können getnodeName( )-Methode, um das Attribut nodeName nodeName abzurufen. Sie können auch die Methode setnodeName() verwenden, um das Attribut nodeName eines Knotens festzulegen. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的nodeName属性 var myNodeName = myNode.nodeName; // 设置节点的nodeName属性 myNode.nodeName = "span";
nodeValue-Eigenschaft gibt den Wert eines Knotens zurück oder legt ihn fest. Die Eigenschaft nodeValue kann mit der Methode getNodeValue() abgerufen werden. Um den Eigenschaftswert festzulegen, verwenden Sie die Methode setNodeValue(). Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的nodeValue属性 var myNodeValue = myNode.nodeValue; // 设置节点的nodeValue属性 myNode.nodeValue = "新的节点内容";
Das className-Attribut gibt den Klassennamen des Knotens zurück oder legt ihn fest. Das className-Attribut kann mit der Methode getclassName() abgerufen werden. Um den Attributwert festzulegen, können Sie die Methode setclassName() verwenden. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的className属性 var myClassName = myNode.className; // 设置节点的className属性 myNode.className = "newClass";
id-Attribut gibt die ID des Knotens zurück oder legt sie fest. Das ID-Attribut kann mit der Methode getId() abgerufen werden. Um den Attributwert festzulegen, können Sie die Methode setId() verwenden. Wie unten gezeigt:
var myNode = document.getElementById("myNode"); // 获取节点的id属性 var myId = myNode.id; // 设置节点的id属性 myNode.id = "newNode";
Um einen DOM-Knoten zu erstellen, können Sie die Methode createElement() verwenden. Wie unten gezeigt:
// 创建一个新的 <p> 元素 var newNode = document.createElement("p"); // 设置元素的内容 newNode.innerHTML = "新的 HTML 内容"; // 将新元素添加到文档中 document.body.appendChild(newNode);
DOM-Knoten einfügen
Es gibt die folgenden Punkte zum Einfügen eines DOM-Knotens:
Übergeordneten Knoten einfügen
var parent = document.getElementById("parent"); // 创建新的 <li> 元素 var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 将新元素添加到父节点的末尾 parent.appendChild(newNode);
var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 将新元素添加到 "node" 元素之前 parent.insertBefore(newNode, node);
var newNode = document.createElement("li"); // 设置元素的内容 newNode.innerHTML = "新的列表项"; // 替换父节点下的第二个子节点 parent.replaceChild(newNode, parent.childNodes[1]);
var parent = document.getElementById("parent"); // 移除 "node" 元素 parent.removeChild(node);
var node = document.getElementById("node"); // 移除节点本身 node.remove();
Das obige ist der detaillierte Inhalt vonSo ändern Sie DOM-Knoten mit JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!