jQuery隐藏基于UID的帖子

时间:2014-11-11 03:11:23

标签: jquery

我想通过一键点击按用户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相同,我怎么能隐藏所有?

3 个答案:

答案 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();
    }