jQuery トラバーサル最も近い() メソッド

選択した要素を中心として、findメソッドとchildrenメソッドを使用して内部を検索できます。上方向に検索する場合、つまり、現在の要素の親要素と祖先要素を見つける場合、jQuery は、親と似ていますが、いくつかの微妙な違いがあります。これは、非常に頻繁に使用されるメソッドです。 () メソッドは、一致した要素のセレクター文字列を受け取ります

要素自体から開始し、DOM ツリー上で段階的に上位の要素まで一致し、最初に一致した祖先要素を返します

例: div 要素内、すべての li 要素を上方向に検索します。次のように表現できます

$("div").closet("li')


注: jQuery はコレクション オブジェクトなので、最も近いのは各要素に一致する祖先要素ですコレクション内で

closest() メソッドに指定された jQuery コレクションまたは要素をフィルタリングします

同様に、jQuery はコレクション オブジェクトであるため、ターゲット要素を見つけるためにこのコレクション オブジェクトをフィルタリングする必要がある場合があるため、jQuery を渡すことが許可されていますObject -Notes:使用している場合は、位置が異なります。親はドキュメントのルート要素に移動し、最も近いものを上方向に検索し、一致する要素が見つかるまで検索を停止します。結果は異なります。最も近いものは jquery オブジェクトを返します。 0 または 1 つの要素が含まれており、親は 0 または 1 つ以上の要素を含む jquery オブジェクトを返します

次に、コードを見てみましょう

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
    .left {
        width: auto;
        height: 200px;
    }
    
    .left div {
        width: 350px;
        height: 150px;
        padding: 5px;
        margin: 5px;
        float: left;
        background: #bbffaa;
        border: 1px solid #ccc;
    }
    
    span {
        color: blue;
    }
    </style>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
</head>

<body>
    <h2>closest方法()</h2>
    <div class="left first-div">
    <div class="div">
        <ul class="level-2">
            <li class="item-a">A</li>
            <li class="item-b">B
                <ul class="level-3">
                    <li class="item-1">1</li>
                    <li class="item-2">2</li>
                    <li class="item-3">3</li>
                </ul>
            </li>
            <li class="item-c">C</li>
        </ul>
    </div>
    </div>
    <br/>
    <button>点击:closest传递选择器 </button>
    <button>点击:closest传递一个元素对象</button>
    <script type="text/javascript">
    $("button:first").click(function() {
        $('li.item-1').closest('.level-2').css('border', '1px solid red');
    })
    </script>
    <script type="text/javascript">
    $("button:last").click(function() {
        var itemB = $('.item-b')
        $('li.item-1')
            .closest(itemB)
            .css('border', '1px solid blue');
    })
    </script>
</body>

</html>

学び続ける
||
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .left { width: auto; height: 200px; } .left div { width: 350px; height: 150px; padding: 5px; margin: 5px; float: left; background: #bbffaa; border: 1px solid #ccc; } span { color: blue; } </style> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> </head> <body> <h2>closest方法()</h2> <div class="left first-div"> <div class="div"> <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </div> </div> <br/> <button>点击:closest传递选择器 </button> <button>点击:closest传递一个元素对象</button> <script type="text/javascript"> $("button:first").click(function() { $('li.item-1').closest('.level-2').css('border', '1px solid red'); }) </script> <script type="text/javascript"> $("button:last").click(function() { var itemB = $('.item-b') $('li.item-1') .closest(itemB) .css('border', '1px solid blue'); }) </script> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜