我希望在悬停在元素上方时显示已存在的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;
答案 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>