为什么这在IE8中不起作用?
var accordion = $(this),
header = accordion.find(':header')[0],
titleHTML = header.outerHTML,
innerHTML = accordion.html().replace(titleHTML, '');
填充了header
变量,但.replace()
找不到HTML字符串。它适用于Chrome,FF等,但IE8不想播放。
我在构建innerHTML
变量之前尝试删除元素,但在执行路径中引入了更多问题。
任何人都可以对此有所了解吗?
修改
重写可以进行一些按摩。
var accordion = $(this),
header = accordion.find(':header').first(),
titleHTML = header.prop('tagName'),
titleLabel = header.text();
header.remove();
var innerHTML = accordion.html();
基本上,两个主要的变化是让[0]
的第一个元素有点片状,确实首先删除元素是可行的方法。
答案 0 :(得分:0)
试试这个
$(this).find(':header').first().remove();
看起来基本上就是你正在做的事情,找到任何标题元素,获取第一个的本机DOM节点,然后获取outerHTML
,并在this
中替换它,尝试删除它,这似乎是一种奇怪的方式。