Javascript 如果单击“提交”,则隐藏div,并使用类“div”;“世界其他地区”;存在
你介意告诉我这是写这个脚本最有效的方法吗?当我将它添加到JSFIDLE中,但在我的站点上遇到问题时,它就可以工作了。如果单击submit时存在类为“row”的div,我想隐藏类为“nores”的divJavascript 如果单击“提交”,则隐藏div,并使用类“div”;“世界其他地区”;存在,javascript,jquery,Javascript,Jquery,你介意告诉我这是写这个脚本最有效的方法吗?当我将它添加到JSFIDLE中,但在我的站点上遇到问题时,它就可以工作了。如果单击submit时存在类为“row”的div,我想隐藏类为“nores”的div $('h2')。追加('br/>未找到结果'); $(“#提交”)。在('click',函数(nor)上{ 如果($('.row')。长度>0){ $('.nores').hide(); } }); 搜索结果 一些文本 您的问题有点不清楚,但我认为解决方案就在这里: 将代码封装在$(docu
$('h2')。追加('br/>未找到结果');
$(“#提交”)。在('click',函数(nor)上{
如果($('.row')。长度>0){
$('.nores').hide();
}
});代码>
搜索结果
一些文本
您的问题有点不清楚,但我认为解决方案就在这里:
- 将代码封装在
$(document).ready(函数(){})中
或$(函数(){})
以确保它将在DOM就绪时执行
- 使用事件委派来利用冒泡。这是一个很好的实践,可以避免听众遇到意想不到的问题。如果你需要灵感,可以阅读以下文章:
- 使用模块组织JavaScript代码。否则,由于全球范围的混乱,您很可能会发生冲突。。。如果您不想麻烦使用AMD或CommonJS,只需像下面这样重构代码:
var module = {
init: function () {
module.listeners();
},
listeners: function () {
$('#submit').on('click', module.submit);
},
submit: function () {
if ($('.row').length > 0) {
$('.nores').hide();
}
}
};
$(document).ready(module.init);
在站点中实现JavaScript时,您到底遇到了什么问题?加载DOM后JavaScript是否运行?在浏览器中使用调试工具(如chrome dev工具)并在控制台中查找JavaScript错误。如果它在JSFIDLE中工作,但在您的站点上不工作,则很可能是由于JS错误或冲突导致此操作失败。还有什么,斯宾塞·梅说。。如果此脚本试图在对象进入DOM之前运行,它将失败。将脚本设置为在页面加载后运行。我尝试设置超时,但没有出现错误。如果它在小提琴上工作,但在您的站点上不工作,那么您的站点上会出现相互干扰的情况,但是在没有看到其余相关代码的情况下,我们无法真正帮助您,因为您在此处显示的内容很好。