IE8中的jQuery getAttribute替换

时间:2014-11-18 19:06:53

标签: jquery internet-explorer-8 custom-data-attribute

我想在IE8中使用以下代码:

jQuery的:

$(".scroll, .tobottom, .video-cta").on("click",function(e){
    e.preventDefault();
    var target = "#" + $(this).getAttribute("data-target") + " h1";
    $("html, body").animate({
        scrollTop: $(target).position().top
    }, {duration: 2000, easing: "easeInOutQuint"});
});

基本上,与此类内容相关联的HTML将是:

HTML:

<a class="scroll" href="#" data-target="videocontent">Some content</a>

因为IE8不支持getAttribute,所以我试图找到一种在所有浏览器中获取数据目标的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

getAttribute不是jQuery方法 - attr()是:

var target = "#" + $(this).attr("data-target") + " h1";

这应该有效。

或者,使用.data()方法:

var target = "#" + $(this).data("target") + " h1";

所有jQuery方法都设计为甚至在旧的IE中工作,至少在jQuery 1.x中。