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

Bla*_*man 3 jquery

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

<a href=""></a> <b>old text</b>
Run Code Online (Sandbox Code Playgroud)

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

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

Bob*_*ack 23

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

$('a').nextAll('b:first')
Run Code Online (Sandbox Code Playgroud)

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


Mag*_*nar 8

获取b-tag:

$(this).next();
Run Code Online (Sandbox Code Playgroud)

获取b-tag内的文本:

$(this).next().text();
Run Code Online (Sandbox Code Playgroud)

并在b-tag中设置文本:

$(this).next().text("Something new");
Run Code Online (Sandbox Code Playgroud)


Tim*_*the 5

你也可以这样做:

$(this).siblings(":first").text("Something new");
Run Code Online (Sandbox Code Playgroud)