我正在尝试制作一些代码来查找div是否存在,如果确实存在则会慢慢消失。我有这个来确定div是否存在
if($('#error').length != 0) { $('#error').hide(500); }
这确实有效,但只是在刷新时,我一直试图把它放在这样的计时器中:
var refreshId = setInterval(function() { if($('#error').length != 0) { $('#error').hide(500); } }, 500);
但它没有摆脱innerHTML!我有一些代码,在悬停时改变了错误div的innerHTML,所以我可以填写它,但由于某种原因这不起作用,任何建议都会有所帮助!
谢谢!
答案 0 :(得分:7)
$("#error").fadeOut(500);
更新
如果您想检查存在:
var msg = $("#error");
if(msg.length) {
msg.fadeOut(500);
}
如果你想要清空它:
$("#error").empty();
答案 1 :(得分:5)
如果您只想延迟500ms然后淡出,请执行以下操作:
$("#error").delay(500).fadeOut();
要同时清空该元素,请提供.fadeOut()
的回调,如下所示:
$("#error").delay(500).fadeOut(function() {
$(this).html('');
});
没有必要检查.length
,如果与选择器匹配的元素不存在,则没有任何反应:)
答案 2 :(得分:0)
您尝试隐藏的div可能在脚本运行时未加载。试试这个;它将推迟执行,直到加载DOM:
$(document).ready(function() {
// put your code here
});
无论如何,这是一个很好的做法。
参考:http://docs.jquery.com/Tutorials:Introducing_ $(文件).ready()