gpt4 book ai didi

javascript - 为什么 jQuery .find() 只返回第一个元素?

转载 作者:行者123 更新时间:2023-12-01 04:32:50 25 4
gpt4 key购买 nike

我正在尝试使用 find() 函数来获取我的所有子元素,使用 each() 函数我希望它返回所有元素,但它只得到第一个元素。这两个函数是不是有什么误解?

if ($('.test').length > 0) {
var srcset;
$(".test").each(function(index, ele) {
srcset = $(ele).find("source").attr("srcset");
console.log(srcset);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<picture class="test">
<source srcset="###">
<source srcset="###">
<source srcset="###">
<img src="#" alt="">
</picture>

最佳答案

您得到第一个是因为 .attr()将返回第一个元素属性,您必须使用 .each() 循环选择,还有一件事你可以直接使用 ".test source" 选择器,这是一个工作片段:

if ($('.test').length > 0) {
srcset = $(".test source");
srcset.each(function(i, el){
console.log($(el).attr('srcset'));
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<picture class="test">
<source srcset="###">
<source srcset="###">
<source srcset="###">
<img src="#" alt="">
</picture>

关于javascript - 为什么 jQuery .find() 只返回第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61813330/

25 4 0
文章推荐: Java MenuBar 切入我的小程序
文章推荐: html - 如何在另一个 div 中添加 data 属性的值?
文章推荐: html - 将