Я пытаюсь выучить jQuery
для нового предложения работы, которое я получил, и обнаружил, что немного путаюсь с различными командами обхода, которые он предлагает.
Я хочу напечатать теги имен каждого элемента,их глубина и закрывающие теги по порядку, и было бы любопытно, если бы был способ сделать это.
У меня это работает для нисходящих элементов и элементов без дочерних элементов, но я не могу получить восходящие закрывающие теги дляэлементы.
Вот HTML-код
<html id = "test">
<head>
</head>
<body>
<p> Hello World</p>
<div id = "div1"></div>
</body>
</html>
Вот мой сценарий jQuery
$(document).ready(function() {
domWalk();
function domWalk() {
$("html").find("*").addBack().each(function() {
console.log( $(this).parents().length +" <"+ this.nodeName + "> ");
if($(this).children() .length == 0){
console.log( $(this).parents().length +" </"+ this.nodeName + "> ");
}
});
};
});
Ожидаемые результаты
0<HTML>
1<HEAD>
1</HEAD>
1<BODY>
2<P>
2</P>
2<DIV>
2</DIV>
2<SCRIPT>
2</SCRIPT>
1</BODY>
0</HTML>
Фактические результаты
0<HTML>
1<HEAD>
1</HEAD>
1<BODY>
2<P>
2</P>
2<DIV>
2</DIV>
2<SCRIPT>
2</SCRIPT>