1

这应该很简单,但我已经通过Jquery Selector帮助大约一个小时了,但似乎没有任何效果。帮助!

我基本上是在用户点击旁边的链接后尝试提取 SPAN 的文本(地址)。不过请注意,我一页大约有 10 个,所以我不能设置静态地址。用户点击时必须拉动。

html代码:

<a href="3" class="clicky">Click to Show Map</a> 
<span style="display: none" class="theaddy">123 Fake Street, Somewhere Else, 12341</span>

所以真的,我的问题是,我如何从.theaddy用户点击时获取文本.clicky

正如我所说,我不能使用

 var propertyaddy = $(.theaddy).text(); 

因为在同一页面上有 10 个这样的 addy。我需要某种“这个”> Next To 有点东西。

我也考虑过将 SPAN 放在 A 中的想法,但我在这方面的努力也没有奏效。

预先感谢您的任何帮助!

4

2 回答 2

3

您可以使用它.next()来查找任何元素的下一个兄弟。

$('.clicky').on('click', function() {
    var text = $(this).next().text();
    ...
});

只要您需要.theaddy的元素始终是“下一个”元素,就无需在.next()调用中提供特定的类选择器。

如果中间可能有其他元素,您可以使用.nextAll('.theaddy').first(). 这会生成所有后续.theAddy元素的列表,然后获取第一个这样的元素。

于 2012-12-16T18:26:26.323 回答
2

我建议使用next()

text = $(this).next('.theaddy').text();

在上面的代码中,我使用了一个选择器,它只会抓取下一个元素(如果它是 of class='theaddy'),如果没有该选择器,它只会抓取标记中元素后面的任何元素的文本。.clicky

顺便说一句,当您在寻找遍历DOM 的方法时,您需要查看遍历方法,而不是选择器。

参考:

于 2012-12-16T18:26:35.747 回答