在jquery中,匹配第一个下一个元素

时间:2009-02-18 13:54:58

标签: jquery

我有一个href标签,旁边是 标签。我想在粗体标签之间添加新文本。

<a href=""></a> <b>old text</b>

所以在我的点击处理程序中,如何获得粗体标记之间文本的引用?

我知道有$(this + b),但我如何确保它只获得第一个而不是所有下一个项目(如jquery样本中)。

4 个答案:

答案 0 :(得分:23)

尽管Magnar的答案已被标记为已接受的答案,但它实际上并未回答原始问题(必然)。从搜索中获得此问题时,这是一个问题。也许这个问题需要改写。无论如何,我的观点是,如果'a'和'b'之间有另一个元素,这将失败。要真正匹配'first,next'元素,请使用:

$('a').nextAll('b:first')

请注意,TimBüthe的答案也是错误的(它可能与以前的兄弟姐妹相匹配)。

答案 1 :(得分:8)

获取b-tag:

$(this).next();

使用以下内容获取b-tag内的文本:

$(this).next().text();

并使用以下内容在b-tag中设置文本:

$(this).next().text("Something new");

答案 2 :(得分:5)

你也可以这样做:

$(this).siblings(":first").text("Something new");

答案 3 :(得分:2)

只需添加,将所有这些保存在工具箱中,它们在遍历时都非常方便,它们都可以接受选择器(#myid,.myclass等)和过滤器(:visible,:first,:odd等) )

.parent()
.sibling()
.children()
.next()
.prev()