is( function( index ) )

jQuery API の is( function( index ) ) は、マッチした要素が、function関数の戻り値とマッチする場合、trueを返すメソッド。インデックス番号を、引数として、function関数に引き渡すことができる。

記述方法

jQuery( セレクター ) . is( function( インデックス番号 ) {
    return 条件;
} );

「セレクター」にマッチした要素が、「条件」に一致する場合、trueを返す。インデックス番号を、引数として、引き渡すことができる。

記述例

jQuery( '#jquery-smaple' ) . is( function( index ) {
    return jQuery( this ) . text() == 'サンプル';
} );

idが「jquery-smaple」である要素内のテキストノードが、「サンプル」である場合、trueを返す。

実装例(サンプル)

選択:

セルA セルB セルA
セルC セルA セルC
セルB セルC セルA
セルB セルC セルC
セルA セルB セルB

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

「セルA」を選択すると、「セルA」というテキストノードを持つセルの背景色だけを、ピンク色にする。

「セルB」を選択すると、「セルB」というテキストノードを持つセルの背景色だけを、ピンク色にする。

「セルC」を選択すると、「セルC」というテキストノードを持つセルの背景色だけを、ピンク色にする。

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

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    jQuery( 'input[name=jquerySampleRadio]' ) . change( function () {
        jQuery( 'input[name=jquerySampleRadio]' ) . closest( 'label' ) . css( {
            backgroundColor: 'lightgray',
        } );
        jQuery( 'input:checked[name=jquerySampleRadio]' ) . closest( 'label' ) . css( {
            backgroundColor: 'pink',
        } );
        jQuery( '#jquery-smaple-table td' ) . click();
    } ) . change();
    jQuery( '#jquery-smaple-table td' ) . click( function () {
        var jquerySmapleIs = jQuery( this ) . is( function() {
            return jQuery( this ) . text() == jQuery( 'input:checked[name=jquerySampleRadio]' ) . val();
        } );
        if( jquerySmapleIs ) {
            jQuery( this ) . css( 'backgroundColor', 'pink' );
        } else {
            jQuery( this ) . css( 'backgroundColor', 'white' );
        }
    } ) . click();
} );
// -->
</script>

CSS

<style>
<!--
#jquery-smaple-form label {
    margin: 5px 10px;
    padding: 0 10px 0 5px;
    background-color: yellow;
    font-size: 15px;
    color: #303030;
    cursor: pointer;
    border-radius: 5px;
}
#jquery-smaple-form label input {
    margin: 5px;
    cursor: pointer;
}
-->
</style>

HTML

<p id="jquery-smaple-form">選択:
    <label>
        <input type="radio" name="jquerySampleRadio" value="セルA" checked="checked" />
        セルA
    </label>
    <label>
        <input type="radio" name="jquerySampleRadio" value="セルB" />
        セルB
    </label>
    <label>
        <input type="radio" name="jquerySampleRadio" value="セルC" />
        セルC
    </label>
</p>
<table id="jquery-smaple-table">
    <tr>
        <td>セルA</td>
        <td>セルB</td>
        <td>セルA</td>
    </tr>
    <tr>
        <td>セルC</td>
        <td>セルA</td>
        <td>セルC</td>
    </tr>
    <tr>
        <td>セルB</td>
        <td>セルC</td>
        <td>セルA</td>
    </tr>
    <tr>
        <td>セルB</td>
        <td>セルC</td>
        <td>セルC</td>
    </tr>
    <tr>
        <td>セルA</td>
        <td>セルB</td>
        <td>セルB</td>
    </tr>
</table>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, トラバース, フィルタリング タグ: パーマリンク