Подтвердить что ты не робот

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");

безрезультатно.

4b9b3361

Ответ 1

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

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

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

<span>no overwrite</span>

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

Ответ 2

Попробуйте следующее:

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

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

Ответ 3

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

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