我想通过一键点击按用户ID隐藏DIV。
<div class="click_me" id="<?php echo $uid; ?>">Click me for hide</div>
<div class="post" id="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post" id="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post" id="post<?php echo $uid; ?>">
bla bla
</div>
的jQuery
$(".click_me").click(function()
{
var ID = $(this).attr("id");
$("#post"+ID).hide();
}
当我尝试上面的代码时。它只隐藏1个帖子而不是所有相同的UID。
那么如果UID相同,我怎么能隐藏所有?
答案 0 :(得分:1)
使用类来控制多个元素,下面是代码,or try this fiddle! 小提琴使用77代替你的php生成的id仅用于演示目的
$(".click_me").on('click', function()
{
var ID = $(this).attr("id");
$(".post"+ID).hide();
});
并将其更改为:
<div class="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post<?php echo $uid; ?>">
bla bla
</div>
答案 1 :(得分:0)
你应该使用类而不是id,因为id是网页元素的唯一标识符。
以下是否有帮助? (另)
HTML:
<div class="click_me" data-userId="<?php echo $uclass; ?>">Click me for hclasse</div>
<div class="post <?php echo $uclass; ?>">
bla bla
</div>
<div class="post <?php echo $uclass; ?>">
bla bla
</div>
<div class="post <?php echo $uclass; ?>">
bla bla
</div>
JS:
$(".click_me").click(function()
{
var userId = $(this).attr("data-userId");
$(".post"+userId).hide();
}
答案 2 :(得分:0)
你不能这样做,因为id
在dom树中是唯一的,你可以使用数据来标记该记录并按属性获取元素
<div class="post" data-uuid="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post" data-uuid="post<?php echo $uid; ?>">
bla bla
</div>
<div class="post" data-uuid="post<?php echo $uid; ?>">
bla bla
</div>
$(".click_me").click(function() {
var ID = $(this).attr("id");
var uuid='post'+ID;
$("div.post[data-uuid='"+uuid+"']").hide();
}