2015-10-20 215 views
-1

在firefox和chrome中,以下代碼有效。它使用jQuery append命令填充一些html元素。Internet Explorer 11 jQuery parent.html('')問題

form_fields.filter('select').each(function() { 
    var element=$(this); 
    var parent=$(this).parent(); 

    var label=parent.find('label'); 

    var select=$('<div class="select-wrapper "></div>').append(parent.find('select')); 

    parent.html(''); //removed 

    parent.append(label); 
    parent.append(select); 
}); 

當我在Internet Explorer上測試它的父元素不會被填充。刪除parent.html('')在Internet Explorer上工作,父標籤被填充。爲什麼會發生?

+0

不知道什麼是「正確」,但如果你關心它,爲什麼要「殺死」元素('parent.html('');')? – Amit

+3

'.innerHTML.toString()'? '.innerHTML' ___是一個字符串。 – Cerbrus

+0

設置一個MCVE,並解釋你想要達到的效果。 – Amit

回答

1

可能的原因您的問題是,這樣做:

parent.html(''); 

你清空parent元素,這是label[0]的祖先。顯然,那空洞label[0](這是令人驚訝的說實話),並因此label[0].innerHTML不起作用(可能會拋出)。

你應該空的,如果你想使用它裏面的元素的HTML。