Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery中使用.parent()_Javascript_Jquery - Fatal编程技术网

Javascript 在jquery中使用.parent()

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

我正在试着循环浏览几个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 : " + 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);