jQuery( ':only-child' )

jQuery API の jQuery( ':only-child' ) は、親要素の唯一の子要素であるすべての要素を選択する。

記述方法

jQuery( '親要素 子要素:only-child' )

「子要素」に指定した要素が、「親要素」に指定した要素の唯一の子要素であれば、その子要素を選択。

実装例(サンプル)

セル子要素子要素 セル子要素 セル
セル子要素 セル子要素子要素 セル子要素
セル セル子要素 セル子要素子要素

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

「toggle」ボタンをクリックすると、セル内に子要素が一つだけ存在する場合、その子要素の背景色が、ピンク色に変わる。

「toggle」ボタンを再度クリックすると、セル内に子要素が一つだけ存在する場合、その子要素の背景色が、黄色に戻る。

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

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    jQuery( '#jquery-api-toggle' ) . toggle(
        function () {
            jQuery( '#jquery-api-only-child td span:only-child' ) . css( {
                backgroundColor: 'pink',
            } );
        },
        function () {
            jQuery( '#jquery-api-only-child td span:only-child' ) . css( {
                backgroundColor: 'yellow',
            } );
        }
    );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-api-only-child td {
    background-color: yellow;
}
#jquery-api-only-child td span {
    margin-left: 1em;
    font-size: 10px;
}
-->
</style>

HTML

<button id="jquery-api-toggle">toggle</button>
<table id="jquery-api-only-child">
    <tr>
        <td>セル<span>子要素</span><span>子要素</span></td>
        <td>セル<span>子要素</span></td>
        <td>セル</td>
    </tr>
    <tr>
        <td>セル<span>子要素</span></td>
        <td>セル<span>子要素</span><span>子要素</span></td>
        <td>セル<span>子要素</span></td>
    </tr>
    <tr>
        <td>セル</td>
        <td>セル<span>子要素</span></td>
        <td>セル<span>子要素</span><span>子要素</span></td>
    </tr>
</table>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, セレクター, 子要素フィルタ タグ: パーマリンク