Internet Explorer 11 jQuery parent.html('')问题
问题描述:
在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上工作,父标签被填充。为什么会发生?
答
可能的原因您的问题是,这样做:
parent.html('');
你清空parent
元素,这是label[0]
的祖先。显然,那空洞label[0]
(这是令人惊讶的说实话),并因此label[0].innerHTML
不起作用(可能会抛出)。
你应该不空的,如果你想使用它里面的元素的HTML。
不知道什么是“正确”,但如果你关心它,为什么要“杀死”元素('parent.html('');')? – Amit
'.innerHTML.toString()'? '.innerHTML' ___是一个字符串。 – Cerbrus
设置一个MCVE,并解释你想要达到的效果。 – Amit