从下一个关联的类中检索属性

时间:2010-09-23 06:27:49

标签: jquery

嘿伙计们,潜入jQuery并热爱它。我有一组链接ex:

<a href="#" title="Link 1" class="links">First Link</a>
<a href="#" title="Link 2" class="links">Second Link</a>

并且还有一个功能可以提醒用户点击链接标题时链接标题是什么:

$(".links").click(function(){
    var a_link = $(this);
    alert((a_link.attr("title"));
});

现在,我如何提醒用户相关课程的下一个标题是什么?我试过用几种格式的next()但是无法搞清楚。 非常感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

像这样?

$(".links").click(function(){

    var a_link = $(this);
    alert(a_link.attr("title"));

    var a_next_link = a_link.next();
    alert(a_next_link.attr("title"));

});

答案 1 :(得分:0)

$(".links").click(function(){
    var next = $(this).next().attr('title');
    alert(next || 'no adjacent element');
});​

请注意,如果单击第二个链接,则返回undefined,因为没有相邻元素。

答案 2 :(得分:0)

因为它们都拥有应该正常运行的同一个类,所以jQuery会自动将回调事件分配给每个具有links类的项目!

如果您想知道如何自行循环,那么您可以这样:

$('.links').each(function(){
    $(this).click(function(){
        /Blah
    });
});

如果你想知道如何从父索引增加循环中的下一个元素,你应该尝试类似的东西:

$(this).next().attr('title')

withinside回调函数,但你应该做一个if == undefined,因为不是所有的时间你都有这个元素,例如当他们点击最后一个链接时,就不会有一个。

如果您的页面上有其他项目links,但您不想绑定它们,那么您可以

<div class="header_links">
    <a href="#1" title="Link 1" class="links">First Link</a>
    <a href="#2" title="Link 2" class="links">Second Link</a>
</div>
<a href="#3" title="Link 2" class="links">Second Link</a>

JavaScript的:

$('.links','.header_links').each();

这只会绑定div中的一个header_links

类的链接