2015-04-04 53 views
1

我想隱藏當前元素點擊,但我有很多相同的ID元素,我希望每個隱藏每次點擊。隱藏jQuery中的當前元素與許多重複

我通常在foreach循環中使用php在每個ID上附加增量值,但在這種情況下我不能這樣做。

我有這樣的:

<div id="container"> 
    <a href="#" id="hideme">hide me</a> 
    SOME TEXT 
</div> 
<div id="container"> 
    <a href="#" id="hideme">hide me</a> 
    SOME TEXT 
</div> 
<script type="text/javascript"> 
$("#hideme").click(function(){ 
    $(this).hide(); 
}); 
</script> 

是否有jQuery的任何方式隱藏單擊當前元素?我目前的代碼只會隱藏第一個元素。

例子:https://jsfiddle.net/2rnw224b/

+2

ID應該始終是唯一的。改爲使用'class =「hideme」'。第二部分使用'.parent()'。 – 2015-04-04 19:13:57

+0

你想刪除整個容器還是隻是'隱藏我'部分? – 2015-04-04 22:51:53

回答

2

你不應該有,你應該使用類相同的ID多個元素。您可以簡單地將事件偵聽器附加到具有該類名稱的所有元素,並在單擊時刪除容器。

試試下面的例子。我也updated your fiddle

$('.hideme').click(function(e){ 
 
    e.preventDefault() 
 
    $(this).hide() 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="container"> 
 
    <a href="#" class="hideme">hide me</a> 
 
    SOME TEXT 
 
</div> 
 
<div class="container"> 
 
    <a href="#" class="hideme">hide me</a> 
 
    SOME TEXT 
 
</div> 
 
<div class="container"> 
 
    <a href="#" class="hideme">hide me</a> 
 
    SOME TEXT 
 
</div> 
 
<div class="container"> 
 
    <a href="#" class="hideme">hide me</a> 
 
    SOME TEXT 
 
</div>