stuff.className.indexOf("term")== 1无效

use*_*070 3 javascript string classname indexof

我做了一些谷歌搜索,我发现以下代码不起作用,因为inputs [i] .className不是一个字符串.我怎么能把这个字符串??? 我试过toString().此外,inputs.length不是0.我检查.

for (var i = 0; i < inputs.length; i++)
{
     if (inputs[i].className.indexOf("blah") == 1)
     {
      //do something
     }
}
Run Code Online (Sandbox Code Playgroud)

我想只使用类名称为"blah 1; 2; 3; 4"的输入数组值.

任何帮助,将不胜感激.

xia*_*oyi 5

indexOf(value)-1不匹配时返回,以及匹配时开始的索引0.

在您的情况下,您应该将结果与0进行比较,而不是1.


请注意,如果要测试节点是否具有某个特定的类名,则这不是一个好习惯.

更好的方法是使用node.classList.contains()现代浏览器中提供的DOM API .

或者使用正则表达式/\bblah\b/.test(node.className)来避免作为blah另一个类名的子字符串的情况not-blah.

另一种方法是使用mootools,它提供node.hasClass()HTMLElement实例.

或者使用jQuery之类的$(node).hasClass().