Polyfill for getElementsByClassName for particular uses
Polyfill for getElementsByClassName for particular uses
如何使this.getElementsByClassName('class')[0]
适用于Internet Explorer 6-8?是否有任何填充物可以解决此问题?
只是为了记录,旧的浏览器仍然存在,因为人们一直在努力支持它们。
Polyfill for document.getElementsByClassName
话虽如此,一个简短的谷歌搜索可能会将您带到此链接:https://gist.github.com/eikes/2299607
IE6/7 的填充代码如下所示:
if (d.evaluate) { // IE6, IE7
pattern = ".//*[contains(concat(' ', @class, ' '), ' " + search + " ')]";
elements = d.evaluate(pattern, d, null, 0, null);
while ((i = elements.iterateNext())) {
results.push(i);
}
}
基于document.evaluate
法
https://developer.mozilla.org/en-US/docs/Web/API/document.evaluate
编辑:Polyfill for element.getElementsByClassName
您似乎想在 HTML 元素而不是文档上调用 getElementsByClassName 方法。不幸的是,我认为您无法在IE6和7(甚至8)上填充它,因为这个答案似乎表明:如何将我自己的方法添加到 HTMLElement 对象中?
您仍然可以使用 document.evaluate
来完善所需的功能(提示:第二个参数是上下文节点;它应该是您的元素),但您需要将调用代码更改为如下所示的内容:
<div onclick="myPolyfill('class', this)[0].innerHTML = 'works'">
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Is onfling available for html, html5
- Setting default onclick behavior for <img> tag in gene
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- Javascript setTimeout for an array
- 双“for”循环(循环)
- 引用vue.js中v-for中的上一个值
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- GWT (or javascript) library for couchDB
- Javascript在for循环中等待处理请求
- Livereload for node.js.有可能吗
- jQuery setTimeOut: in for-loop
- 我没有'I don’我不理解for在循环中的用途
- 如何知道javascript for语句中的所有结果是否都是错误的
- For循环在Jquery中只运行一次
- Polyfill for getElementsByClassName for particular uses