开发者

jquery find next element with class

I'm trying to 开发者_JAVA百科find the next element with a class of "error" and hitting a wall.

In looking at the demo on jQuery's site, this should work, but doesn't.

$("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>

I'm trying to find the span or div or whatever after the element in question, like the button above.

so the disabled button line should read, 'no overwrite this button is diabled'

I've tried

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

to no avail.


The problem is that your using the next traversing function rather than nextAll

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

When you use next its just looking at the "next" element which is

<span>no overwrite</span>

Next all looks at all siblings that are next


Try this:

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

hope it helps. Sinan.


next() won't work in this case because it has to be a sibling for that to work. In this case you need:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜