jquery用class查找下一个元素

时间:2009-11-25 00:34:52

标签: jquery dom traversal next

我正在尝试使用“错误”类找到下一个元素并撞墙。

在查看jQuery网站上的演示时,这应该可以,但不是。

$("button[disabled]").next().text("this button is disabled");

<div>
   <button disabled="disabled">First</button>
   <span>no overwrite</span>
   <span class="error"></span>
</div>

<div>
   <button>Second</button>
   <span></span>
</div>

<div>
   <button disabled="disabled">Third</button>
   <span>no overwrite</span>
   <span class="error"></span>
</div>

我正在尝试在相关元素之后找到span或div或其他内容,例如上面的按钮。

所以禁用的按钮行应显示为“没有覆盖此按钮已被禁用”

我试过

$("button[disabled]").next(".error").text("this button is disabled");

无济于事。

3 个答案:

答案 0 :(得分:69)

问题是你使用下一个遍历函数而不是nextAll

$("button[disabled]").nextAll(".error").text("this button is disabled");

当您使用next时,只需查看“next”元素

<span>no overwrite</span>

接下来,所有人都会看到下一个兄弟姐妹

答案 1 :(得分:5)

试试这个:

$("button[disabled=disabled]").parent().find("span.error").text("this button is disabled");
希望它有所帮助。 思南。

答案 2 :(得分:0)

next()在这种情况下不起作用,因为它必须是一个兄弟姐妹才能工作。在这种情况下,您需要:

$("button[disabled]").parent().nextAll()
  .find("span.error:first").text("this button is disabled");