>現代Web應用程序通常涉及復雜的,富含標記的HTML。 諸如jQuery之類的庫簡化了DOM操縱,提供了跨瀏覽器兼容性和廣泛的功能。但是,與幾年前相比,天然DOM API顯著改善,在許多情況下,它們成為可行的替代方法。 本文探討了操縱HTML的關鍵DOM功能,重點關注父,子和兄弟姐妹節點關係。 儘管由於歷史上的不一致而導致jQuery仍然是一個流行的選擇,但了解本地DOM方法對於有效的發展至關重要。
密鑰概念:
children
屬性有效計數子元素,避免包含非元素節點(如childElementCount
>)。
childNodes.length
>利用hasChildNodes()
添加或重新定位元素,並使用appendChild()
>。
removeChild()
>使用ChildNode.remove()
無縫替換子元素,啟用元素交換和重新定位。 replaceChild()
,firstElementChild
,以進行精確的DOM操縱。
lastElementChild
nextElementSibling
previousElementSibling
計算子節點:
中的元素計算元素
產生相同的結果(6)。 為了清楚起見,
通常是首選。 使用<code class="language-html"><ul id="myList"> <li>Example one</li> <li>Example two</li> <li>Example three</li> <li>Example four</li> <li>Example five</li> <li>Example six</li> </ul></code>將返回更高的數字,因為它包括所有節點類型,包括whitespace。
<ul></ul>
檢查子節點的檢查:
<code class="language-javascript">var myList = document.getElementById('myList'); console.log(myList.children.length); // 6 console.log(myList.childElementCount); // 6</code>>
>children.length
返回一個布爾值,指示兒童節點的存在:childElementCount
childElementCount
即使是帶有空格的空
也會返回childNodes.length
。 只有一個完全空的
。 在
>添加新的或移動現有元素。 例如,移動 <p> </p>
:hasChildNodes()
>
<code class="language-javascript">console.log(myList.hasChildNodes()); // true</code>
>刪除子節點。 <ul></ul>
提供了更簡潔的替代方案(在較舊的IE中不支持)。 true
>
<ul></ul>
false
>替換元素:
>將一個孩子替換為另一個孩子:
appendChild()
這將<ul></ul>
替代新的
針對特定的孩子:
>注入內容:firstElementChild
lastElementChild
在指定的同胞之前插入元素。 nextElementSibling
>提供了對插入點的更精確的控制(previousElementSibling
,
)。
瀏覽器支持:
insertBefore()
大多數方法都具有出色的瀏覽器支持,包括較舊的IE版本。 insertAdjacentHTML()
缺乏較舊的IE的支持。 beforebegin
afterbegin
beforeend
結論:afterend
>
以上是DOM技巧和技術:父母,孩子和兄弟姐妹的詳細內容。更多資訊請關注PHP中文網其他相關文章!