我有一个 div,其中包含文本“one”。当您将鼠标悬停在它上面时,我想将文本更改为“二”,当您停止悬停在它上面时,我想将文本更改回“一”。我尝试使用 jQuery 执行此操作,但在它变为“两个”之后,一旦您停止将鼠标悬停在它上面,它就不会变回“一个”。我做错了什么?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").hover(function(){
$(this).replaceWith("two");
}, function(){
$(this).replaceWith("one");
});
});
</script>
<p>one</p>
最佳答案
使用 text()
,因为 replaceWith()
将替换整个元素,而您是用文本而不是元素替换它,所以选择元素下一次就迷路了。
$(document).ready(function(){
$("p").hover(function(){
$(this).text("two");
}, function(){
$(this).text("one");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<p>one</p>
关于javascript - 使用 jQuery 在悬停时更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33057963/