1. 程式人生 > >IE 相容模式下Jquery 出現appendChild 意外地呼叫了方法或屬性訪問。

IE 相容模式下Jquery 出現appendChild 意外地呼叫了方法或屬性訪問。

IE 相容模式下 appendChild  意外地呼叫了方法或屬性訪問。

原因:在ie8以下的瀏覽器裡,操作一個DOM的非法屬性時會出現
例如:
1、操作了一個DOM不該有的屬性<input type="text" id="test">
如果要改變這個dom的值應該是修改它的value屬性
$('#test').val('hello');
但是如果寫成了
$('#test').html('hello');
在ie8以上的瀏覽器也OK,給你識別糾正了,但是在ie8以下就不行了。
2、標籤的閉合上也就是我出錯的地方
<input type="text" id="test"></input>
<p>hello</p>
由於編輯器的自動補全,往往會忽略一些細節上的錯誤例如為input自動加了閉合標籤,
如果只操作這個dom的值無影響,但是如果操作下個同級元素就會報錯了例如
$('#test').next().html('hello');
當debug到test的下一級標籤時,便會發現這個dom的nodeName是input而不是p,input操作html屬性是不合法的,
因此就報錯啦。
解決方法就是把input的閉合標籤幹掉。
我碰到的就是第一種情況
原文地址:http://m.blog.csdn.net/article/details?id=51337356