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>

上記のボタンのように、問題の要素の後にスパンまたはdivなどを見つけようとしています。

したがって、無効化されたボタンの行は、「このボタンを上書きしないでください。無効化されています」と表示されます。

私はもう試した

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

無駄に。

4

3 に答える 3

72

問題は、 nextAllではなく次のトラバース関数を使用していることです。

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

next を使用すると、「次の」要素を見るだけです。

<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 に答える