Javascript 在jquery中使用.parent()
我正在试着循环浏览几个div 代码:Javascript 在jquery中使用.parent(),javascript,jquery,Javascript,Jquery,我正在试着循环浏览几个div 代码: $(".tree div ").each(function () { var _searchthis = $(this); var mySearchDiv = _searchthis.parent('div').attr('id'); console.log("this is ID : " + $(this).attr('id')); console.log("this is parentID : " + mySearchD
$(".tree div ").each(function () {
var _searchthis = $(this);
var mySearchDiv = _searchthis.parent('div').attr('id');
console.log("this is ID : " + $(this).attr('id'));
console.log("this is parentID : " + mySearchDiv);
});
如果是ID,则获取值。但它不返回.parent('div').attr('id')
我变得“未定义”
编辑:
当我使用.closest()
而不是.parent()
时,我只获得$(this)
的ID。
.parents('div').first().attr('id')
还返回“undefined”
这是一次绝望的尝试
HTML代码更像:
===================================
断然的。我的HTML结构有问题。谢谢大家。尝试将代码更改为:
_searchthis.parents("div").eq(0).attr('id');
尝试将代码更改为:
_searchthis.parents("div").eq(0).attr('id');
.parent()
注意这里的区别:
html
JQuery谈到了父项:
.parents()和.parent()方法类似,只是
后者只在DOM树上移动一个级别
改为使用parents
并获得第一个元素,如下所示:\u searchthis.parents('div').eq(0)代码>
请注意:您使用的搜索查询可能非常慢,如果可能,请使用类或ID而不是标记名 .parent()
parent只进入第一级,而.parents()
进入堆栈
注意这里的区别:
html
JQuery谈到了父项:
.parents()和.parent()方法类似,只是
后者只在DOM树上移动一个级别
改为使用parents
并获得第一个元素,如下所示:\u searchthis.parents('div').eq(0)代码>
请注意:您使用的搜索查询可能非常慢,如果可能,请使用类或ID而不是标记名 我们需要你的html文件,不是$(this)
还不是div
?从您的代码看,您没有.parent('div')
,而是.parent('li')
。使用最近的('div')而不是parent('div')。tree li div
糟糕的jQuery string如果$(此)
已经是div,您应该使用parents('div'))
因为.closest
也会选择它自己。我们需要你的html文件不是$(这个)
还不是div
?从您的代码看,您没有.parent('div')
,而是.parent('li')
。使用最近的('div')而不是parent('div')。tree li div
糟糕的jQuery string如果$(此)
已经是div,您应该使用parents('div'))
因为。最近的
也会选择自身。请尝试此操作。但我得到“未定义”。我使用…$(this.attr('ID')获取所有div的所有ID。但当涉及到ParentID时,我发现“未定义”这是可行的。我的HTML结构有问题。谢谢你们的关注,试试这个。但我得到“未定义”。我使用…$(this.attr('ID')获取所有div的所有ID。但当涉及到ParentID时,我发现“未定义”这是可行的。我的HTML结构有问题。谢谢大家的关注。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div id="firstLevel">
<span id="secondLevel">
<p id="thirdLevel">
<i id="forthLevel">POC</i>
</p>
<span>
</div>
</body>
</html>
var result = $('#forthLevel').parent('div').attr('id');
console.log('result of .parent("div"): '+ result);
var result = $('#forthLevel').parents('div').attr('id');
console.log('result of .parents("div"): '+ result);