closest() Visszatér kiválasztott elemhez tartozó, kiválasztott legközelebbi ősével.(Szülőelemével.)
Ősök: Szülő - nagyszülő - dédszülő - ükszülő - stb.
Keresés kezdődik az utolsó aktuális (kiválasztott) elemmel, majd megy fel a DOM fában, és visszatér a közvetlen szülő őse, mely megegyezik a kiválasztott szülőelemmel.
Visszatéréskor a visszaadott jQuery objektum: nulla, egy elem, vagy több elem. Megjegyzés: A jQuery hibátlan működéséhez, be kell tartani a szabályos xhtml előírásokat. - Minden kezdő jelölőelemnek, legyen záró eleme. - Ugyanazon id azonosítóval, csak egy jelölőelem szerepelhet. - Ugyanazon class osztályazonosítóval, több jelölőelem is szerepelhet.
<div id="lista">
|
1. 2. 3. 4. 5. 6. 7. |
|
<head> <script src=https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js></script> <script> $(document).ready(function(){ // Kiválasztott span elem, mint saját maga. $("#btnT01").click(function(){ $(".Sp01").closest("span").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott span elem, közvetlen szülőeleme. $("#btnT02").click(function(){ $(".Sp01").closest("li").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott span elem, Nagyszülő. $("#btnT03").click(function(){ $(".Sp01").closest("ul").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott span elem, Dédszülő. $("#btnT04").click(function(){ $(".Sp01").closest("div").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott li elem, közvetlen szülőeleme. $("#btnT05").click(function(){ $(".LI01").closest("ul").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott li elem, Nagyszülő. $("#btnT06").click(function(){ $(".LI01").closest("div").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); // Kiválasztott ul elem, közvetlen szülőeleme. $("#btnT07").click(function(){ $("#UL01").closest("div").css({"color": "black", "border": "2px solid red", "background-color": "orange"}); }); }); </script> </head> <body> <div id="lista"> <ul id="UL01"> <li class="LI01"> <span class="Sp01"> li a szülőeleme.</span> </li> </ul> </div> <button id="btnT01">$(".Sp01").closest("span") <br /> span gyermek.</button> <button id="btnT02">$(".Sp01").closest("li") <br /> span szülőeleme.</button> <br /> <button id="btnT03">$(".Sp01").closest("ul") <br /> span nagyszülő.</button> <button id="btnT04">$(".Sp01").closest("div") <br /> span dédszülő</button> <br /> <button id="btnT05">$(".LI01").closest("ul") <br /> li szülőeleme.</button> <button id="btnT06">$(".LI01").closest("div") <br /> li nagyszülő.</button> <br /> <button id="btnT07">$("#UL01").closest("div") <br /> ul szülőeleme.</button> </body> |
Ebben a példában, nem minden esetben tartjuk be, az xhtml szabályokat, és lekérdezési szabályokat.
Ugyanazon id azonosítóból több is van.
Lekérdezendő elemet pontosan meghatározzuk, vagy általánosságban és nem pontosan határozzuk meg.
<div>
<p> <span class="spn"> p a szülőeleme.</span>
<p> <span class="Pspan"> p a szülőeleme.</span>
|
Nem kell elemek, beazonosítása: |