Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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访问父元素的第一个/最后一个子元素中的数据属性_Javascript_Html_Jquery - Fatal编程技术网

Javascript 使用jQuery访问父元素的第一个/最后一个子元素中的数据属性

Javascript 使用jQuery访问父元素的第一个/最后一个子元素中的数据属性,javascript,html,jquery,Javascript,Html,Jquery,我目前正在尝试实现一个刷新的post提要,并尝试从子元素中获取数据pid,如下所示: HTML: 我尝试过几种不同的方法,但我得到的只是“未定义”。正确的方法是什么?当前脚本存在逻辑问题 您应该使用的是- $(document).ready(() => { alert($("#postFeed").children(":first").attr("data-pid")); }); 请理解,选择器选择作为其父元素第一个子元素的所有元素。但是这里的#postFeed不是您想要瞄准的孩

我目前正在尝试实现一个刷新的post提要,并尝试从子元素中获取数据pid,如下所示:

HTML:


我尝试过几种不同的方法,但我得到的只是“未定义”。正确的方法是什么?

当前脚本存在逻辑问题

您应该使用的是-

$(document).ready(() => {
    alert($("#postFeed").children(":first").attr("data-pid"));
});

请理解,选择器选择作为其父元素第一个子元素的所有元素。但是这里的
#postFeed
不是您想要瞄准的孩子,您想要瞄准里面的
div
。因此,您只需要在该子元素上使用
:first child
选择器

另外,您可以简单地使用方法,而不是使用
.attr(“数据pid”)
.data()
方法允许我们读取以前与DOM元素关联的数据。此外,我们还可以为单个元素检索多个不同的值,一次检索一个,或作为一个集合检索,如:

$(文档).ready(()=>{
console.log($(“#postFeed div:first child”).data(“pid”);
});

A.
B
在您的代码中,它是$(“#postFeed:first child”)表示id为postFeed的div的第一个孩子

 $("#postFeed:first-child").attr("data-pid")
而是在postfeed div中查找,这可以通过使用以下代码来完成

$(document).ready(() => {
    alert($("#postFeed div:first-child").attr("data-pid"));
})
 $("#postFeed:first-child").attr("data-pid")
$(document).ready(() => {
    alert($("#postFeed div:first-child").attr("data-pid"));
})