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");
безрезультатно.
Ответы
Ответ 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");