var data = 'sky,sea,earth,moon';
var a = data.split(","), i;
for (i = 0; i < a.length; i++) {
var b = a[i].text();
$('mdcatsitem').each(function(){
if (b == $(this).text()) {$(this).addClass('toggleright');}
});
}
控制台:
Uncaught TypeError: a[i].text is not a function
我需要什么:
- 将data
分成几部分;
- 获取each
部分的文本,并将其与each
mdcatsitem
的文本进行比较;
- 如果匹配 - 将一个类添加到mdcatsitem
答案 0 :(得分:1)
为什么要在字符串上调用.text()
?
data
是一个分隔符字符串,在您调用.split()
之后,a
只是一个字符串数组:
['sky', 'sea', 'earth', 'moon']
循环遍历a
时,您可以直接引用a[i]
作为所需的字符串:
var b = a[i];
// b now equals the string, such as 'sky' or 'sea'
答案 1 :(得分:1)
将a[i].text()
替换为a[i]
。
a[i]
不 dom元素 但 字符串。在a
split
之后,data
是一个数组。
a = ['sky', 'sea', 'earth', 'moon']
使用此代码:
var data = 'sky,sea,earth,moon';
var a = data.split(","), i;
for (i = 0; i < a.length; i++) {
var b = a[i];
$('mdcatsitem').each(function(){
if (b == $(this).text()) {$(this).addClass('toggleright');}
});
}