不幸的是,这间接回答了你的问题,但是......你似乎正在寻找一个元素是否有一个类,并且由于你已经在使用 jQuery,只需使用该hasClass
方法 - http://api.jquery.com /hasClass/
对于您的特定代码,请尝试:
if (link.parents("div.fixed_column").hasClass("column_one")) {
// It has the "column_one" class
}
您的问题更直接的答案是link.parents("div.fixed_column").attr("class")
返回单个字符串。当 jQuery 选择器 ( div.fixed_column
) 返回多个元素时,这在使用类时很有可能,使用获取信息的 jQuery 方法(例如.attr
,使用一个参数...“获取”值)仅返回第一个匹配元素的值。
所以说选择器匹配3个元素:
["<div id='div30' class='fixed_column div30_class'></div>",
"<div id='div2' class='fixed_column div2_class'></div>",
"<div id='div17' class='fixed_column div17_class'></div>"]
然后返回的值.attr("class")
将是:fixed_column div30_class
因为它是第一个匹配的元素。
我不确定,但我认为您期望 jQuery 返回一个包含所有匹配元素值的数组,但它没有。所以这并不意味着 jQuery 不处理跨浏览器问题,它只是意味着您需要查看该方法执行/返回的内容。
我可以发誓 jQuery 2.0 可以选择做你想做的事 - 直接通过调用 getter(或类似的东西),但我再也找不到它了 :( 也许我记错了。无论如何,你可以很容易地使用$.each
和/或$.map
查看每个匹配的元素,但这取决于您真正尝试使用它做什么。