English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
jQuery Percorrer
Primeiro, precisamos saber o que são pai, filho, descendente, primo, ancestral
•<div> O elemento é o pai do <ul>, ao mesmo tempo que é o ancestral de todo o conteúdo.
•<ul> O elemento é o pai do elemento <li>, ao mesmo tempo que é o filho do <div>.
•O elemento <li> à esquerda é o pai do <span>, o filho do <ul>, ao mesmo tempo que é o descendente do <div>.
•<span> O elemento é o filho do <li>, ao mesmo tempo que é o descendente do <ul> e <div>.
•Os dois elementos <li> são primos (com o mesmo pai).
•O elemento <li> à direita é o pai do <b>, o filho do <ul>, ao mesmo tempo que é o descendente do <div>.
•<b> O elemento é o filho do <li> à direita, ao mesmo tempo que é o descendente do <ul> e <div>.
Percorrer a classe e os antepassados
1.parent()
Percorrer o pai direto, não subir para outros antepassados
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> <style type="text/css"> </style> <script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script> <script type="text/javascript"> $(function(){ $("#btn").click(function(){ $("#info").html("div4o pai+$("#div4").parent().attr("id")); }); }); </script> </head> <body> <input type="button" value="Clique" id="btn"><div id="info"></div> <div id="div1"> <div id="div2"> <div id="div3"> <div id="div4"> </div> </div> </div> </div> </body> </html>
2.parents()
Percorrer todos os antepassados
.each(function(i,e){})
Percorrer cada elemento
Onde i é o índice, e é o objeto atual, equivalente a $(this), mas o primeiro é um objeto js e o segundo é um objeto jquery.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> <style type="text/css"> </style> <script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script> <script type="text/javascript"> $(function(){ $("#btn").click(function(){ $("#div4").parents().each(function(i, e) { $("#info").html($("#info").html()+"o"+i+um ancestral é,("+$(this).attr("id")+"); }); }); }); </script> </head> <body> <input type="button" value="Clique" id="btn"><div id="info"></div> <div id="div1"> <div id="div2"> <div id="div3"> <div id="div4"> </div> </div> </div> </div> </body> </html>
Você pode perguntar, quais são esses três e quatro antepassados? Vamos clicar em F12Depuração, veja o resultado
Quando i=3 Isso é como se tivéssemos chegado ao terceiro ancestral. O resultado é body
Quando i=4 Isso é como se tivéssemos chegado ao quarto ancestral. O resultado é html
3.parentsUntil()
Procurar até o ancestral especificado (não incluindo o ancestral)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> <style type="text/css"> </style> <script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script> <script type="text/javascript"> $(function(){ $("#btn").click(function(){ $("#div4").parentsUntil("#div1").each(function(i, e) { $("#info").html($("#info").html()+"o"+i+um ancestral é,("+$(this).attr("id")+"); }); }); }); </script> </head> <body> <input type="button" value="Clique" id="btn"><div id="info"></div> <div id="div1"> <div id="div2"> <div id="div3"> <div id="div4"> </div> </div> </div> </div> </body> </html>
Portanto, o escopo está em #div4e #div1No entanto, não contém #div1
Aqui está o método de percorrer os pais e os antepassados dos elementos do JQuery que o editor compartilha com você, esperando que ele possa fornecer uma referência para você, e esperando que você apoie mais o tutorial de gritos.