首先,我正在学习JS,在我知道所有需要之前不会使用库。
http://www.tombarrasso.com/search/
这说明为什么我的代码不能用于< IE 7,Firefox< 3等? Safari 4非常完美,Firefox 3.5很棒等等。 我正在使用Robert Nyman的函数getElementsByClassName。
它在OS X上的IE 6(通过Wine)中不会产生任何错误。 Ajax请求很好,但是应该有一个id =“one”和class =“scroller”的初始div,但是没有。 我对此感到非常沮丧。
谢谢,
答案 0 :(得分:8)
..或者您可以将其作为更好的解决方案......
if (typeof document.getElementsByClassName!='function') {
document.getElementsByClassName = function() {
var elms = document.getElementsByTagName('*');
var ei = new Array();
for (i=0;i<elms.length;i++) {
if (elms[i].getAttribute('class')) {
ecl = elms[i].getAttribute('class').split(' ');
for (j=0;j<ecl.length;j++) {
if (ecl[j].toLowerCase() == arguments[0].toLowerCase()) {
ei.push(elms[i]);
}
}
} else if (elms[i].className) {
ecl = elms[i].className.split(' ');
for (j=0;j<ecl.length;j++) {
if (ecl[j].toLowerCase() == arguments[0].toLowerCase()) {
ei.push(elms[i]);
}
}
}
}
return ei;
}
}
答案 1 :(得分:4)
就个人而言,我只会使用jQuery,因为它已经遇到了您遇到的浏览器兼容性问题。
学习这一切都很好;但是当涉及到处理实现兼容性时,最好让它为你处理,恕我直言。我只关心一些事情:P
答案 2 :(得分:2)
当我们在javascript中使用getElementsByClassName时,IE8会出错 - “对象不支持属性或方法”。试试这个。
if (document.getElementsByClassName) {
var obj = document.getElementsByClassName('classA');
}
答案 3 :(得分:0)
我使用jQuery来解决我的问题,用ie7来支持那些后向客户端。
<强>旧强>
var editrow = grid.get_element().getElementsByClassName("rgEditRow")[0];
新强>
var editrow = $(".rgEditRow", grid.get_element())[0];