jQuery将目标设置为唯一的data-post\u id

jQuery将目标设置为唯一的data-post\u id,jquery,Jquery,这就是我要做的。对于我的自定义循环,数据由data-post\u id提取 现在,我有一个具有唯一post id的show_按钮按钮。还有一个div容器也具有相同的唯一post_id。这个div最初是隐藏的,我想在单击“show_按钮”时显示它 如何确定要显示的唯一post_id的目标?(我的脚本不起作用) 显示按钮 耶 jQuery(“#显示_按钮”)。单击(函数(){ jQuery(“#yay[data-post_id=”+$(this.data(“post_id”)+”])”).show

这就是我要做的。对于我的自定义循环,数据由
data-post\u id
提取

现在,我有一个具有唯一post id的
show_按钮
按钮。还有一个div容器也具有相同的唯一post_id。这个div最初是隐藏的,我想在单击
“show_按钮”
时显示它

如何确定要显示的唯一post_id的目标?(我的脚本不起作用)


显示按钮
耶
jQuery(“#显示_按钮”)。单击(函数(){
jQuery(“#yay[data-post_id=”+$(this.data(“post_id”)+”])”).show();
});
编辑


在我写问题的时候有一个打字错误(产品id而不是帖子id)。这个问题现在已经解决了。谢谢。

问题是您的选择器不正确。你想瞄准
#耶[data-product\u id
显示。按照当前编写的方式,您正在查找id为yay且具有data-post\u id属性的div,而不是针对具有data-product\u id属性的div。

div标记使用
data-product\u id
而不是
data-post\u id
。这可能是问题吗?Opps,应该是的post_id.(我键入问题时输入错误)。:p此代码在循环中?能否显示生成的代码(在浏览器中查看源代码)?我在一个测试文件中硬编码了你的html,它工作得很好。当选择器用于ID时,使用属性选择器有什么意义呢?ID必须是唯一的,所以只有一个
#yay
。整行应该是:`jQuery(#yay[data-product_ID='”+$(this)。数据(“post_ID”)+“”)。show()“`@user2705632在答案中输入正确的代码,而不是注释。
<?php echo '<button id="show_button" type="button" data-post_id="' . esc_attr( $post->id ) . '">' ;?>
    Show Button
<?php echo '</button>';?>   

<?php echo '<div id="yay"  style="display:none" data-post_id="' . esc_attr( $post->id ) . '">' ;?>
    Yay
<?php echo '</div>';?>  


<script>
jQuery('#show_button').click(function(){
     jQuery("#yay[data-post_id='" + $(this).data("post_id") + "']").show();
    });
</script>