在ie11中,getAttribute()不能与Sizzle一起工作

getAttribute() not working with Sizzle in IE 11

本文关键字:不能 Sizzle 一起 工作 ie11 getAttribute      更新时间:2023-09-26

我有一些Javascript代码,在所有其他浏览器上工作良好,但(当然)IE。有人能告诉我,如果有一个问题与我的代码,如果没有,建议修复?

注意: IE为href属性返回null

for(var a=Sizzle("*"),i=0;i<a.length;i++) {
  a[i].onclick=function(){
    window.open(this.getAttribute("href"),"_self");
  }
}

尝试只选择具有href属性的元素。

类似:

for(var a=Sizzle("[href]"), i=0; i<a.length;i++) { ... }

问题的最初原因可能是由于如何处理事件顺序。请看这里了解一些背景信息。您不仅将事件处理程序添加到实际具有href属性的链接中,还将其添加到所有父链接中。

无论哪种方式,使用*选择器而不是更具体的选择器的情况都不会太多。一般来说,你应该使用最具体的选择器