您是否介意告诉我这是否是编写此脚本的最有效方法?当我将它添加到jsfiddle但它在我的网站上遇到问题时它可以工作。如果点击提交时存在类“row”的div,我想用类“nores”隐藏div。
@Autowired
$('h2').append('<br /><div class="nores">no results found</div>');
$('#submit').on('click', function(nor){
if ($('.row').length > 0) {
$('.nores').hide();
}
});
答案 0 :(得分:0)
你的问题有点不清楚,但我认为解决方案就在那里:
将代码封装在$(document).ready(function () {});
或$(function () {});
中,以确保在DOM准备就绪时执行该代码。
使用事件委派来利用冒泡。这是避免听众意外问题的好习惯。如果您需要灵感,可以阅读以下文章:https://learn.jquery.com/events/event-delegation/
使用模块整理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);