DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯繫緊密。很多新手朋友,也包括以前的我,常常會搞不清楚。
attribute翻譯成中文術語為“特性”,property翻譯成中文術語為“屬性”,從中文的字面意思來看,確實是有點區別了,先來說說attribute。
attribute是一個特性節點,每個DOM元素都有對應的attributes屬性來存放所有的attribute節點,attributes是一個類別數組的容器,說得準確點就是NameNodeMap,總之就是一個類似數組但又和陣列不太一樣的容器。 attributes的每個數字索引以名值對(name=”value”)的形式存放了一個attribute節點。
複製程式碼
複製程式碼
複製程式碼
複製程式碼
很多新手朋友估計都很容易掉進這個坑。
DOM元素一些預設常見的attribute節點都有與之對應的property屬性,比較特殊的是一些值為Boolean類型的property,如一些表單元素:
對於這些特殊的attribute節點,只有存在該節點,對應的property的值就為true,如:
最後為了更好的區分attribute和property,基本上可以總結為attribute節點都是在HTML程式碼中可見的,而property只是一個普通的名值對屬性。
程式碼如下: