Méthode jQuery traversée la plus proche ()

Avec l'élément sélectionné comme centre, la recherche à l'intérieur peut être effectuée via les méthodes find et children. Si vous effectuez une recherche vers le haut, c'est-à-dire pour trouver les éléments parents et ancêtres de l'élément actuel, jQuery fournit la méthode la plus proche(). Cette méthode est similaire aux parents mais présente quelques différences subtiles. C'est une méthode très fréquemment utilisée

. La méthode

closest() accepte une chaîne de sélection qui correspond à l'élément

en commençant par l'élément lui-même, en correspondant jusqu'à l'élément supérieur de l'arborescence DOM et en renvoyant le premier élément ancêtre correspondant

Par exemple : dans Dans l'élément div, recherchez vers le haut tous les éléments li, qui peuvent s'exprimer ainsi :

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

Remarque : jQuery est un objet de collection, donc la collection ou l'élément jQuery donné par la méthode le plus proche() est utilisé pour filtrer l'élément

également parce que jQuery est un objet de collection, éventuellement Cet objet de collection doit être filtré pour trouver l'élément cible, il est donc autorisé de transmettre un objet jQuery

Remarque : vous devez faire particulièrement attention lorsque vous l'utilisez ) et .closest() sont quelque peu similaires. Ils parcourent tous les deux les éléments ancêtres vers le haut. , mais il y a quand même une différence entre les deux, sinon il n'y aura aucun sens à l'existence

La position de départ est différente : le plus proche commence à partir de l'élément courant Les cibles de parcours des parents à partir de l'élément parent sont différentes :

le plus proche Pour trouver la cible spécifiée, les parents accèdent à l'élément racine du document, recherchent le plus proche vers le haut et arrêtent la recherche jusqu'à ce qu'ils trouvent une correspondance jusqu'à l'élément racine et ajoutent la correspondance. éléments à la collection

Les résultats sont différents : le plus proche renvoie un objet jquery contenant zéro ou un élément, et parents renvoie un objet jquery contenant zéro ou un ou plusieurs éléments

Jetons un coup d'œil à un morceau de code

<!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>

Formation continue
||
<!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>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!