我有以下代码:jQuery attr似乎不返回字符串?
JS:
var test2 = ['RMrpi5Z8doc','JIPbUaqyYx0','MbjXYg0YRmw'];
$('tr').live('click', function(event){
$($(this).attr('class').split(' ')).each(function() {
if (!((this == 'even') || (this == 'odd'))) {
alert(jQuery.inArray(this, test2));
if (this == 'RMrpi5Z8doc') {
alert(this);
}
}
});
});
HTML:
<table>
<tr class="odd RMrpi5Z8doc">
<td>Kite</td>
<td>Just Like Vinyl</td>
<td>Audiotree</td>
</tr>
</table>
inArray不匹配,并返回-1。与文字字符串匹配的if语句匹配。如果我用inArray中的文字替换,那也匹配。
我见过一篇文章说jQuery attr不会再返回字符串,但是查看jQuery网站上attr的文档似乎是这样说的。
也许我应该以完全不同的方式来谈论这个?
你想达到什么目的? –
*“也许我应该采取完全不同的方式?”*我建议不要使用class来存储这个值。你可以使用'data-id',或者如果它们是唯一的,'id'应该可以工作。 –
虽然您正在考虑重新编写代码,但请注意'.live()'已被弃用一段时间了。如果你使用最新的jQuery,你应该使用'.on()'API。 – Pointy