我为鼠标悬停添加了此代码(status_id各不相同):
$("#test"+status_id).mouseover(function(){
$('.data'+status_id+'a').show();
});
但是,它不会显示鼠标悬停。但是添加一个警告来打印类,如:
alert("#test"+status_id)
$("#test"+status_id).mouseover(function(){
$('.data'+status_id+'a').show();
});
导致该功能开始正常工作。我不知道为什么会有区别。有什么建议吗?
答案 0 :(得分:0)
我认为这部分:$('.data'+status_id+'a')
在您调用它之前创建。像这样使用:
$(document).on("mouseover","#test"+status_id, function () {
$('.data'+status_id+'a').show();
});
注意:
我希望这个$('.data'+status_id+'a').show();
意味着这样的事情:
<a class="data5" ></a>
答案 1 :(得分:0)
这应该有效:
$("#test"+status_id).hover(function () {
$('.data'+status_id+'a').show();
alert('test');
});
答案 2 :(得分:0)
我猜测问题是你的代码在浏览器准备好之前就已经运行了(并且警报推迟了它的工作)。在检查浏览器是否准备就绪时,您应该总是将jQuery代码包围起来:
$(document).ready(function() {
$("#test"+status_id).mouseover(function(){
$('.data'+status_id+'a').show();
});
}
许多人更喜欢,(因此你会经常看到),“速记”版本:
$(function() {
$("#test"+status_id).mouseover(function(){
$('.data'+status_id+'a').show();
});
}