<div id="parentnode">
<span id="childnode">child</span>
</div>
<script type="text/javascript">
var childNode = document.getElementById("childnode") , parentNode = document.getElementById("parentnode");
</script>
當為子節點添加預設屬性時:
childNode.className = "childClass"; 或: childNode.className = new String("childClass");
parentNode.innerHTML IE,FF都能獲得 [ <span class="childClass" id="childnode">child</span> ]
當為子節點添加私人屬性時:
childNode.type = "childType";
parentNode.innerHTML 若且唯若 IE能獲得 [ <span type="childType" id="childnode">child</span> ]
childNode.type = new String("childType"); //Object對象
parentNode.innerHTML IE,FF都不能獲得 [ <span id="childnode">child</span> ]
childNode.setAttribute("type","childType");
parentNode.innerHTML IE,FF都能獲得 [ <span class="childClass" id="childnode">child</span> ]
childNode.setAttribute("type", new String("childType"));
parentNode.innerHTML 若且唯若 FF能獲得 [ <span class="childClass" id="childnode">child</span> ]
當對元素動態添加私人屬性後擷取innerHTML,如果採用.屬性 方式賦值,無論哪種資料類型FireFox都不能獲得,如果當賦值的類型是個對象的話IE不能通過innerHTML獲得。
如果使用setAttribute方法賦值時,無論哪種資料類型FireFox都能擷取,如果當賦值的類型是個對象的話IE不能擷取 。
總結:在IE 環境下 賦實值型別為對象時 innerHTML 擷取不到其改變,在FireFox環境下 .屬性 方式擷取不到其改變。