Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果单击“提交”,则隐藏div,并使用类“div”;“世界其他地区”;存在_Javascript_Jquery - Fatal编程技术网

Javascript 如果单击“提交”,则隐藏div,并使用类“div”;“世界其他地区”;存在

Javascript 如果单击“提交”,则隐藏div,并使用类“div”;“世界其他地区”;存在,javascript,jquery,Javascript,Jquery,你介意告诉我这是写这个脚本最有效的方法吗?当我将它添加到JSFIDLE中,但在我的站点上遇到问题时,它就可以工作了。如果单击submit时存在类为“row”的div,我想隐藏类为“nores”的div $('h2')。追加('br/>未找到结果'); $(“#提交”)。在('click',函数(nor)上{ 如果($('.row')。长度>0){ $('.nores').hide(); } }); 搜索结果 一些文本 您的问题有点不清楚,但我认为解决方案就在这里: 将代码封装在$(docu

你介意告诉我这是写这个脚本最有效的方法吗?当我将它添加到JSFIDLE中,但在我的站点上遇到问题时,它就可以工作了。如果单击submit时存在类为“row”的div,我想隐藏类为“nores”的div

$('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之前运行,它将失败。将脚本设置为在页面加载后运行。我尝试设置超时,但没有出现错误。如果它在小提琴上工作,但在您的站点上不工作,那么您的站点上会出现相互干扰的情况,但是在没有看到其余相关代码的情况下,我们无法真正帮助您,因为您在此处显示的内容很好。