我有如下 html 元素,其层次结构未知:
<div class="parent" name="parent">
<div>
<div>
<div>
<div onclick="get_parent(this)">
Nested Child 1
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
<div class="parent" name="parent">
<div>
<div onclick="get_parent(this)">
Nested Child 2
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法可以按类或名称获取嵌套子项的父项?
也许有一些替代方案,child.parentElement或者child.parentNode我不知道哪个可以帮助我?
或者循环遍历所有父母直到我被需要class或者name是唯一可能的选择?
小智 10
我认为closest是最好的解决方案。
function get_parent(elem) {
/*** For Class ***/
// var x = elem.closest(".parent").className;
/*** For Name ***/
var x = elem.closest(".parent").attributes["name"].value;
document.getElementById("demo").innerHTML = x;
}Run Code Online (Sandbox Code Playgroud)
<div class="parent" name="parent1">
<div>
<div>
<div>
<div onclick="get_parent(this)">
Nested Child 1
</div>
</div>
</div>
</div>
</div>
<div class="parent" name="parent2">
<div>
<div onclick="get_parent(this)">
Nested Child 2
</div>
</div>
</div>
<p id="demo"></p>Run Code Online (Sandbox Code Playgroud)
小智 0
你应该循环“parent()”函数jquery。
function get_parent(a){
$(a).parent().parent();
console.log("test",$(a).parent().parent());
}Run Code Online (Sandbox Code Playgroud)
<div class="parent" name="parent">
<div>
<div onclick="get_parent(this)">
Nested Child 2
</div>
</div>
</div>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5048 次 |
| 最近记录: |