節點物件除了繼承node介面以外,還會繼承其他介面。parentnode介面表示當前節點是乙個父節點,提供一些處理子節點的方法。childnode介面表示當前節點是乙個子節點,提供一些相關方法。
如果當前節點是父節點,就會繼承parentnode介面。由於只有元素節點(element)、文件節點(document)和文件片段節點(documentfragment)擁有子節點,因此只有這三類節點會繼承parentnode介面。
children屬性返回乙個htmlcollection例項,成員是當前節點的所有元素子節點。該屬性唯讀。
下面是遍歷某個節點的所有元素子節點的示例。
for (var i = 0; i < el.children.length; i++)
注意,children屬性只包含元素子節點,不包括其他型別的子節點(比如文字子節點)。如果沒有元素型別的子節點,返回值htmlcollection例項的length屬性為0。
firstelementchild屬性返回當前節點的第乙個元素子節點。如果沒有任何元素子節點,則返回null。
document.firstelementchild.nodename // html
lastelementchild屬性返回當前節點的最後乙個元素子節點,如果不存在任何元素子節點,則返回null。
document.lastelementchild.nodename // html
上面**中,document節點的最後乙個元素子節點是(因為document只包含這乙個元素子節點)。
childelementcount屬性返回乙個整數,表示當前節點的所有元素子節點的數目。如果不包含任何元素子節點,則返回0。
document.body.childelementcount // 13
var parent = document.body;
// 新增元素子節點
var p = document.createelement("p");
// 新增文字子節點
如果乙個節點有父節點,那麼該節點就繼承了childnode介面。
remove方法用於從父節點移除當前節點。
before方法用於在當前節點的前面,插入乙個或多個同級節點。兩者擁有相同的父節點。
var p = document.createelement("p");
var p1 = document.createelement("p");
// 插入元素節點
e1.before(p);
// 插入文字節點
e1.before("hello");
// 插入多個節點
e1.before(p, p1);
after方法用於在當前節點後面,插入乙個或多個同級節點,兩者擁有相同的父節點。用法與before方法完全相同。
replacewith方法使用引數節點,替換當前節點。引數可以是元素節點,也可以是文字節點。
List介面 Set介面和Map介面
1 list和set介面自collection介面,而map不是繼承的collection介面 collection表示一組物件,這些物件也稱為collection的元素 一些 collection允許有重複的元素,而另一些則不允許 一些collection是有序的,而另一些則是無序的 jdk中不提...
介面 四 訪問介面
對介面成員的訪問 對介面方法的呼叫和採用索引指示器訪問的規則與類中的情況也是相同的。如果底層成員的命名與繼承而來的高層成員一致,那麼底層成員將覆蓋同名的高層成員。但由於介面支援多繼承,在多繼承中,如果兩個父介面含有同名的成員,這就產生了二義性 這也正是c 中取消了類的多繼承機制的原因之一 這時需要進...
C 介面 介面作用
可簡單的這樣理解介面 介面是方法的抽象,如果不同的類有同樣的方法,那麼就應該考慮使用介面。例如,人和車都有 跑 的方法,那麼就可以定義乙個介面irun 注意,定義介面時,裡面的方法不能有方法體 應該在類裡再去實現 而具介面的成員全是公有的,不應有修飾符 public inte ce irun 人實現...