0

我已经应用了以下 jquery 但无法工作。

var medialink = $('<a>',{
class: 'all-videos-link',
href: 'index.php?option=com_content&view=category&layout=blog&id=78'
});
$('#custom-module .moduletable').eq(2).find('h3').append(medialink);

在所有浏览器中它都可以工作,但在 IE 中却不行。我在ie8中测试过。所以我尝试了这个

$('#custom-module .moduletable').eq(2).find('h3').css({background:'red'}); // and it's working

那么,为什么 append 仅适用于 ie 。

4

2 回答 2

1

您需要引用 property-name class,因为它是classJavaScript 中的“未来关键字”的保留字。因此,您应该使用:

var medialink = $('<a>',{
    'class': 'all-videos-link',
    href: 'index.php?option=com_content&view=category&layout=blog&id=78'
});

虽然我发现简单地引用对象的所有属性名更容易,因为它减少了记住必须引用哪些属性名(以及必须引用它们的 ECMAScript 实现)的需要,给出:

var medialink = $('<a>',{
    'class': 'all-videos-link',
    'href': 'index.php?option=com_content&view=category&layout=blog&id=78'
});

参考:

于 2013-11-11T14:24:01.207 回答
0

您可能正在使用不支持 IE8 的 jQuery 2.0.0。尝试获取较旧的版本,例如 1.9。

于 2013-11-11T09:50:55.423 回答