42

我试图找到具有“错误”类的下一个元素并撞到墙上。

在查看 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");

无济于事。

4

3 回答 3

72

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

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

当您使用下一个时,它只是查看“下一个”元素

<span>no overwrite</span>

Next all 查看所有下一个兄弟姐妹

于 2009-11-25T00:43:05.177 回答
4

试试这个:

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

希望能帮助到你。思南。

于 2009-11-25T00:37:48.683 回答
0

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

$("button[disabled]").parent().nextAll()
  .find("span.error:first").text("this button is disabled");
于 2009-11-25T00:41:36.240 回答