Javascript简单的语法问题

时间:2011-06-29 10:40:28

标签: javascript

我有这个JS系列我确定是错误的。

classes[i] = document.getElementsByAttribute ("class", show_hide_class_selectors[i]);

在上下文中

for (var i = 0; i< show_hide_class_selectors.length; i++) {
        classes[i] = document.getElementsByAttribute ("class", show_hide_class_selectors[i]);
        alert ("ok");
    }

有人能看出这是错的吗?

4 个答案:

答案 0 :(得分:5)

您在getElementsByAttribute对象上发明了非标准document方法,但代码失败,因为它不存在。

您应该考虑使用选择器引擎;每个主要的JS库都包含一个,你可以使用一些tiny implementations

答案 1 :(得分:1)

for (var i = 0; i< show_hide_class_selectors.length; i++) {
    classes[i] = document.getElementsByClassName (show_hide_class_selectors[i]);
    alert ("ok");
}

但是如果在IE 6-8中不起作用。更好地使用jQuery或其他库,为JS提供css选择器

答案 2 :(得分:0)

互联网上有许多此功能的实现(example),但这些是扩展document对象的实现。

您可以将其添加到代码中来自行添加。

更好的是,如果你想做这样的事情,那么使用jQuery之类的JavaScript库来处理所有这些。

答案 3 :(得分:0)

呃,亲爱的,我想。你想要getElementsByClass

for (var i = 0; i < show_hide_class_selectors.length; i++) {
  classes[i] = document.getElementsByClass(show_hide_class_selectors[i]);
  alert("ok");
}