Символ в зависимости от уровня вложенности списка
Добрый вечер!
Есть список со сложной уровнем вложенности. Например:
<ul id="hmenu">
<li><a>Text_1</a>
</li>
<li><a>Text_2</a>
<ul>
<li><a>1</a>
</li>
<li><a>2</a>
<ul>
<li><a>a</a>
</li>
<li><a>b</a>
</li>
<li><a>c</a>
</li>
</ul>
</li>
<li><a>3</a>
</li>
</ul>
</li>
<li><a>Text_3</a>
</li>
</ul>
Как сделать как прикрутить количество тире ("-"), в зависимости от уровня вложенности? Например у "b" будет так: "---b". У "1" так: "--1". У "Text_3" так: "-Text_3" |
qwe88,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
window.addEventListener("DOMContentLoaded", function() {
var ul = document.querySelector("#hmenu"),
a = ul.querySelectorAll("a"),
parent = ul.parentNode;
[].forEach.call(a, function(el) {
var str = "";
var target = el.parentNode;
while (target != parent) {
if (target.tagName == "UL") str += "-";
target = target.parentNode
}
el.text = str + el.text
})
});
</script>
</head>
<body>
<ul id="hmenu">
<li><a>Text_1</a>
</li>
<li><a>Text_2</a>
<ul>
<li><a>1</a>
</li>
<li><a>2</a>
<ul>
<li><a>a</a>
</li>
<li><a>b</a>
</li>
<li><a>c</a>
</li>
</ul>
</li>
<li><a>3</a>
</li>
</ul>
</li>
<li><a>Text_3</a>
</li>
</ul>
</body>
</html>
|
Супер! Спасибо огромное!
|
qwe88,
для надёжности немного изменил код |
Отлично, спасибо!
|
| Часовой пояс GMT +3, время: 14:07. |