删除克隆的div(jQuery)

时间:2017-04-12 18:39:21

标签: javascript jquery

我希望在悬停在元素上方时显示已存在的div。 该元素的id与div匹配。

克隆和显示部分在悬停时工作,但我卡住了删除已经克隆的元素。我在另一个答案中看到了壁橱,但我可能错了。



$('.referer').hover(function() {
    var id = $(this).attr('id')
    $('#reply_' + id).clone().appendTo(this);
}, function() {
    var id = $(this).attr('id')
    $('#reply_' + id).closest(this).remove();
}); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="reply_1">
First Post
</div>
<div id="reply_2">
Second Post
</div>
<div id="reply_3">
Third Post
</div>
<!--The id is the id of the quoted post-->
<p>
<span class="referer" id="1">Quoted Link (First Post)</span>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

在这种情况下,您不需要closest()功能,而是需要find(),例如:

$(this).find('#reply_' + id).remove();

您只需在当前元素'#reply_' + id中查找this并将其删除即可。

希望这有帮助。

$('.referer').hover(function() {
    var id = $(this).attr('id')
    $('#reply_' + id).clone().appendTo(this);
}, function() {
    var id = $(this).attr('id')
    $(this).find('#reply_' + id).remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="reply_1">First Post</div>
<div id="reply_2">Second Post</div>
<div id="reply_3">Third Post</div>
<!--The id is the id of the quoted post-->
<p>
<span class="referer" id="1">Quoted Link (First Post)</span>
<br>
<span class="referer" id="2">Quoted Link (Second Post)</span>
<br>
<span class="referer" id="3">Quoted Link (Third Post)</span>