2012-11-30
jQueryの"next"メソッドについて
jQueryのnextメソッドの使いかたについて勘違いをしていて、数時間無駄にした。
「指定した要素の次の値を取得する」という表現方法に惑わされた。
HTML
<div id='hoge'>fuga</div>
<p>foo</p>
<span>bar</span>jQuery
$('#hoge').next('span'); // →span要素を取得することはできない
$('#hoge').next('p'); // →p要素を取得することは可能next() はあくまでも、その要素のとなりにあるものを取得するだけ。
条件に指定できるのは、「隣の要素が」条件にあてはまるときには取得し、そうでない場合は取得しないということ。
上の例では、divタグのとなりにあたるのはpタグなので、条件にspanを書いても取得できない。
現状では nextAll() メソッドを使う方法しか見当たらない。要素を1つだけとりたいのだが。

h3pei
フリーランスのソフトウェアエンジニア。Ruby / Rails アプリケーションの開発が得意領域。設計・実装・運用まで含めてプロダクト開発が好きです。
Questalという目標達成コミュニティサービスを開発しました。仲間と一緒に目標達成に取り組みたい方はぜひご利用ください。
<< 前の記事jQueryでselectタグの値を取得する
次の記事 >>今後しばらく力を入れて学習したいと思っていることリスト