Переход к первому родителю.
Возможно ли, как-то перескочить к самому верхнему родителю, удовлетворяющего условие? Например:
В списке может быть бесконечное вхождение ul в тег li. И нужно попасть именно в первый UL, от места вызова функции. При чем список динамический
<li>
<ul Нужно попасть сюда>
<li>
<ul>
<li>Место вызова функции</li>
</ul>
</li>
</ul>
</li>
<li>
второй блок
</li>
<li>
Третий блок
</li>
|
lordenas,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css"> .red {
background-color: #FF0000;
}
ul {
border: 1px solid #0000FF
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$("li").on("click", function() {
$(this).parents("ul ul").last().addClass("red")
})
});
</script>
</head>
<body>
<ul>
<li>
<ul> Нужно попасть сюда
<li>
<ul>
<li>Место вызова функции</li>
</ul>
</li>
</ul>
</li>
<li>
второй блок
</li>
<li>
Третий блок
</li>
</ul>
</body>
</html>
|
<li>
<ul id='ul1'>
<li>
<ul id='ul2'>
<li>Место вызова функции</li>
</ul>
</li>
</ul>
</li>
<li>
второй блок
</li>
<li>
Третий блок
</li>
<div id='res'></div>
<script>
var parent, last = '';
[].forEach.call(document.querySelectorAll('li'), function(elem) {
elem.onclick = function() {
parent = elem.parentNode;
last = parent.nodeName == 'UL'? parent.id : last ;
res.innerText = last;
}
});
</script>
|
| Часовой пояс GMT +3, время: 13:50. |