prop( propertyName, function( [index][, oldValue] ) )

jQuery API の prop( propertyName, function( [index][, oldValue] ) ) は、「propertyName」に指定したプロパティの値を関数で設定するメソッド。インデックス番号と現在のプロパティ値を、関数に引き渡すことができる。1つ目の引数が、インデックス番号。2つ目の引数が、現在のプロパティ値。

記述方法

jQuery( セレクター ) . prop( プロパティ名, function( インデックス, 現在のプロパティ値 ) {
    return 新しいプロパティ値;
} );

「セレクター」に指定した要素の「プロパティ名」に指定したプロパティの値を、function関数で設定する。その際、「セレクター」に指定した要素の、インデックス番号と、「プロパティ名」に指定したプロパティの現在の値を、function関数に引き渡すことができる。

記述例

jQuery( 'input[type=checkbox]' ) . prop( 'checked', function( index, oldValue ) {
    return !oldValue;
} );

チェックボックス(type属性がcheckboxのinput要素)のcheckedプロパティの値を反転。checkedプロパティの値がtrueの場合、falseに変更し、checkedプロパティの値がfalseの場合、trueに変更する。

実装例(サンプル)

すべて: 選択解除反転

実装例(サンプル)の動作について

「すべて:」の右横の「選択」をクリックすると、すべての項目のチェックボックスにチェックを入れる。

「すべて:」の右横の「解除」をクリックすると、すべての項目のチェックボックスのチェックを外す。

「すべて:」の右横の「反転」をクリックすると、すべての項目のチェックボックスのチェックを反転する。チェックが入っているものはチェックを外し、チェックが入っていないものはチェックを入れる。

実装例(サンプル)のソースコード

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    jQuery( '#jquery-smaple-a-1' ) . click( function() {
        jQuery( '#jquery-smaple-form input[type=checkbox]' ) . prop( 'checked', true );
    } );
    jQuery( '#jquery-smaple-a-2' ) . click( function() {
        jQuery( '#jquery-smaple-form input[type=checkbox]' ) . prop( 'checked', false );
    } );
    jQuery( '#jquery-smaple-a-3' ) . click( function() {
        jQuery( '#jquery-smaple-form input[type=checkbox]' ) . prop( 'checked', function( index, oldValue ){
            return !oldValue;
        } );
    } );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-smaple-form p {
    margin: 5px;
}
#jquery-smaple-form input {
    margin: 0;
}
#jquery-smaple-form a {
    color: blue;
    cursor: pointer;
}
#jquery-smaple-form a:hover {
    color: red;
}
#jquery-smaple-form label {
    margin: 5px 10px;
    padding: 2px 5px;
    border: 1px solid gray;
    border-radius: 5px;
    background-color: yellow;
    font-size: 15px;
    color: #303030;
    cursor: pointer;
}
-->
</style>

HTML

<div id="jquery-smaple-form">
    <p>すべて:
        <a id="jquery-smaple-a-1">選択</a>
        <a id="jquery-smaple-a-2">解除</a>
        <a id="jquery-smaple-a-3">反転</a>
    </p>
    <p>
        <label>
            <input type="checkbox" /> 項目1
        </label>
        <label>
            <input type="checkbox" /> 項目2
        </label>
        <label>
            <input type="checkbox" /> 項目3
        </label>
        <label>
            <input type="checkbox" /> 項目4
        </label>
        <label>
            <input type="checkbox" /> 項目5
        </label>
    </p>
</div>

スポンサード リンク

カテゴリー: API, DOM操作, JavaScript, jQuery, 一般的属性, 属性 タグ: パーマリンク