gpt4 book ai didi

javascript - 如何使用jquery找到div最深的子元素

转载 作者:行者123 更新时间:2023-11-28 09:19:22 24 4
gpt4 key购买 nike

我正在尝试使用 jquery 查找指定 div 中最深的元素。但是使用的代码会产生错误 TypeError:parent.children不是函数

我从这个link找到了这段代码

代码是:

function findDeepestChild(parent) {

var result = {depth: 0, element: parent};

parent.children().each( //Here I getting the error TypeError: parent.children is not a function
function(idx) {
var child = $(this);
var childResult = findDeepestChild(child);
if (childResult.depth + 1 > result.depth) {
result = {
depth: 1 + childResult.depth,
element: childResult.element};
}
}
);

return result;
}
---------------------------------------------------------------------------------------
$(document).on('keypress','#sendComment', function(e) {
if(e.keyCode==13){
var itemId=$('#findbefore').prev('.snew').attr('id');//
var item=findDeepestChild(itemId);
alert(item);
}
});

我的 div 是:

<div id="S04" class="snew" style="display: block;">
<div class="author-image"></div>
<span>xyz shared the image xyz</span>
<div class="s-content">
<div class="s-message"></div>
<div class="shpicture">
<img class="SharedImage" width="100%" height="100%" data-shareid="1" data-alid="1" data-id="1" alt="xyz" src="data:image/jpeg;base64,">
</div>
</div>
</div>
<div class="SPcommentbox">
<div class="comment">
<div class="commenter-image"></div>
<div class="addcomment">
<input class="commentbox" type="text" placeholder="Write a comment...">
</div>
</div>
</div>

我需要从中找到img

请任何人帮助我......谢谢......

最佳答案

要获取最深的嵌套元素,请使用

$("#" + parent).find("*").last().siblings().addBack()

http://jsfiddle.net/6ymUY/1/

然后您可以使用以下方法获取 id 数据属性

item.data("id")

http://jsfiddle.net/6ymUY/2/

完整代码:

function findDeepestChild(parent) {
return $("#" + parent).find("*").last().siblings().addBack();
}
var item=findDeepestChild("S04");
console.log(item)

console.log(item.data("id"));

关于javascript - 如何使用jquery找到div最深的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15228600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com