ホーム > length (全3件)
  • 親要素内の順番を取得する

    現在のli要素が親のul要素内で何番目なのか取得する。

    var pos = $( this ).prevAll( 'li' ).length;
    /* または、要素名を省略して */
    var pos = $( this ).prevAll( ).length;
    

    prevAll関数で同レベルで前にある要素を取得でき、そのlengthプロパティで取得した要素数を調べることで、現在の要素が何番目がわかる。0ならば前に要素はなく現在の要素が先頭の要素となり、1ならば前に1つ要素があることを意味する。

  • 要素が表示されているか調べる

    IDがcationの要素が表示されているか調べる。

    if ( $( '#cation:visible' ).length != 0 ) {
    	// 表示されている場合の対応をここで
    }

    この例ではIDで指定した要素が存在しない場合も0になるので、その点は注意すること。

  • チェックボックス(ラジオボタン)がチェックされているか調べる

    idがcheckbox1のチェックボックス(ラジオボタン)がチェックされているか調べる。

    /* 1.9以降の場合: prop関数を使用 */
    if ( $( '#checkbox1' ).prop( 'checked' ) ) {
    	/* チェックされている場合の処理を記述 */
    }
    /* 1.9以降の場合: is関数を使用 */
    if ( $( '#checkbox1' ).is( ':checked' ) ) {
    	/* チェックされている場合の処理を記述 */
    }
    
    /* 1.9以前(1.8.3など)の場合 */
    if ( $( '#checkbox1:checked' ).length > 0 ) {
    	/* チェックされている場合の処理を記述 */
    }
    
    /* idがcheckbox1がクリックされた時に何かする場合 */
    $( '#checkbox1' ).click( function () {
    	if ( typeof $(this).attr( 'checked' ) == 'undefined' ) {
    		/* チェックされていない */
    	} else {
    		/* チェックされている */
    	}
    } );
    

    jQueryのバージョンが1.9前後でattr関数の振舞が異なる。1.9以前ならattr関数でchecked属性(その値の有無)を調べられるが、1.9以降であればprop関数かis関数を使わないといけない。