jQuery,在课后获取标签的内容

时间:2011-08-12 15:27:52

标签: jquery

我需要获取“b”标签的内容,不幸的是我无法更改html。

<div class="mw_error">

    // Sometimes "b" tags are inserted here and sometimes not

    <span class="loseText">
       <b> You Lost </b>
    </span>

    Text 1
    <b> Need to access this value </b>
    Text 2
    <b> Need to access this value </b>

</div>

我可以获得“b”标签的正确内容,只要这两个“b”。

问题是有时在“span class lose Text”之间插入了“b”标签,具体取决于返回的消息。

我想知道是否可以使用jQuery在span类“loseText”之后选择“b”标签。我看过.after函数,但似乎无法让它工作。

对此的任何帮助将非常感激:)

我忘了说我只需要在span类之后选择前两个“b”标签。

6 个答案:

答案 0 :(得分:4)

尝试:

$('.loseText').nextAll('b').slice(0, 2);

编辑为仅选择2(最大)

答案 1 :(得分:2)

试试这个

var $b = $('.loseText ~ b');
if ($b.length) {
    // Do stuff here
}

DEMO

要将其限制为前两个标签,请使用:

var $b = $('.loseText ~ b:lt(2)');

See the demo for that.

答案 2 :(得分:0)

尝试类似:

$('.mw_error > b').each(...);

参见示例。的 jsFiddle

答案 3 :(得分:0)

你也可以使用:

$('.loseText').children('b')

答案 4 :(得分:0)

我认为这就是你所需要的:

$("div.mw_error").children("b");

这应该得到不在b范围内的span.loseText标记。

答案 5 :(得分:0)

试试这个

$(".loseText").nextAll("b");