在IE8中创建具有类和id的新片段表现奇怪

时间:2010-09-22 13:37:38

标签: jquery

我有这段代码可以在Firefox中运行

link = $('<a>link</a>');
var name = $("<h3 class='name section'>").append(link);
$('#container').append(name);

然而,这在IE8中不起作用。似乎根本没有创建名称。我尝试添加console.log('class of name'+name.attr('class'));并在开发人员工具栏中,结果未定义。

因此,我四处寻找另一种选择,这有效:

var name = $('<h3>');
name.addClass('name');
name.addClass('section');
name = name.append(link);

它完全一样。我想知道IE8是否有反对使用HTML来定义DOM片段的事情,所以我尝试了这个:

var name = $("<div class='name section'>").append(link);

这适用于IE8。

我打破了jQuery / IE8的深奥法则?是否最好使用addClass或将新DOM片段的属性设置为文字HTML?

1 个答案:

答案 0 :(得分:0)

如果您通过向h3标记添加结束标记来使HTML代码正确,则可以正常运行:

link = $('<a>link</a>');
var name = $("<h3 class='name section'></h3>").append(link);
$('#container').append(name);