библиотека jQuery найти элемент с классом

Я пытаюсь найти следующий элемент с классом "ошибка" и попав в стену.

глядя на демо на сайте 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 ответов


проблема в том, что вы используете следующую функцию перемещения, а не nextAll

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

когда вы используете ее только глядя на "следующий" элемент

<span>no overwrite</span>

далее все смотрит на всех братьев и сестер, которые являются следующими


попробуйте это:

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

надеюсь, что это помогает. Синана.


next() не будет работать в этом случае, потому что для этого должен быть брат. В этом случае вам необходимо:

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