English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método de iteração ascendente de jQuery para elementos pais e ascendentes

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.

Você também pode gostar