jQuery - 在控制台中启用“显示错误”

时间:2016-08-24 09:10:45

标签: jquery

每当我们有:

$("something")

如果找不到带有该标签的元素,它不会在控制台中显示任何错误。有没有办法,显示错误/通知,如果它不能获得元素(如普通Javascript与getElementBy...一起使用,当元素不存在时...)

编辑1 : 有些人说,这不是错误,只是“没有找到”..我不同意这种观点,因为那时所有的世界都应该报告他们犯错误的浏览器(谷歌,FF,Opera)。为什么?因为他们在控制台中做显示(并且他们做得很好!)找不到元素时(使用getElementBy..)。我希望jQuery做同样的事情。如何启用该功能?

编辑2 :我不希望每次都进行手动检查($(element).length或者等),我想启用ERROR调试器(不是条件编码等)..

编辑3 :我们如何报告jQuery,让我们能够定义ie jQuery_Enable_Notices = true;(或者像这样的smth)变量,在这种情况下,jQuery函数显示控制台日志这样的错误?

3 个答案:

答案 0 :(得分:2)

默认情况下,jQuery不是错误,它是一种想要的行为。

我唯一知道的方法是建立一个围绕jQuery构造函数的包装器。然后,只要选择器没有找到任何元素,您就可以自己打印错误。

但这确实是满足您需求的解决方法!我只会将其用于开发目的,而不是用于生产环境。请注意,这不适用于findchildrennext等子选择器,仅适用于基本构造。否则你必须包装所有这些。 ;)

$ = function(selector, context) {
    var elements = jQuery(selector, context);

    if( !elements.length ) {
        console.log("element(s) by selector '" + selector + "' was not found");
    }

    return elements;
}

$("div").text("test");
$("something").text("test");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

答案 1 :(得分:-1)

 if( $('selector').length )         // use this if you are using id to check
{
     // it exists
}

else
{
console.log("not exist")
}

使用$('#selector').length如果标签存在,它会给你长度,否则条件运行

您也可以像这样使用

// if element does not exist

    if(!$('selector').length){ /* console here   */ }

答案 2 :(得分:-1)

试试这个:

if ($("#mydiv").length > 0){
  // do something here
}

如果元素不存在,则返回零。