这个jQuery脚本适用于firefox,它提供警报。 但它在IE 7中不起作用。知道出了什么问题吗?
标记:
<td class="tdnotes">
<a title="" class="notes" id="order-1" href="#">
<!-- an image -->
</a>
<div style="display: none;" id="wrap-order-1" class="thenotes">
<!-- text area, input elements -->
</div>
</td>
脚本:
$(function(){
$("a.notes").click(function() {
alert($(this).siblings().attr("class"));
// I have tried .next() but didn't work as well
// alert($(this).next().attr("class"));
return false;
});
});
答案 0 :(得分:2)
它在Firefox和IE7中都运行正常 - 这是您的代码的 Working Demo 。
karim79是正确的siblings()
会为您提供一个集合,但将attr()
链接到siblings()
会获得匹配集中第一个元素的指定属性。由于<a>
类notes
在此示例中只有一个兄弟,因此这适用于此实例中的预期。如果你想获得包装集中所有兄弟节点的类属性,那么你需要以某种方式迭代它们,很可能使用each()
或map()
答案 1 :(得分:1)
大概是因为siblings()会给你一个集合,所以你需要遍历匹配的元素:
$("a.notes").click(function() {
$(this).siblings().each(function() {
alert($(this).attr('class'));
});
return false;
});