Javascript 如何捕获何时将选择器传递给文档中不存在的jQuery(),以阻止进一步可能的错误或遗漏?
给定Javascript 如何捕获何时将选择器传递给文档中不存在的jQuery(),以阻止进一步可能的错误或遗漏?,javascript,jquery,error-handling,runtime-error,Javascript,Jquery,Error Handling,Runtime Error,给定 $(函数(){ $(“.plantchoice”)。在(“单击”,函数(){ 控制台日志(123) }); console.log($(“.plantchoice”).length) }) 如果确实要抛出错误,只需使用普通javascript而不是jquery函数。如果确实要抛出错误,可以编辑jquery()/$ $=函数(选择器、上下文){ var el=newjquery.fn.init(选择器,上下文); 如果(el.length==0)抛出新错误('fail:'+selecto
$(函数(){
$(“.plantchoice”)。在(“单击”,函数(){
控制台日志(123)
});
console.log($(“.plantchoice”).length)
})
如果确实要抛出错误,只需使用普通javascript而不是jquery函数。如果确实要抛出错误,可以编辑
jquery()
/$
$=函数(选择器、上下文){
var el=newjquery.fn.init(选择器,上下文);
如果(el.length==0)抛出新错误('fail:'+selector+''notfound');
返回el;
}
$('body');//好的,返回元素
$('nosuchthing');//失败,抛出错误
这是一个改进,当元素不运行时,jQuery会自动失败exist@adeneo不知道你是什么意思?您的意思是,当前的实现是由jQuery作者和贡献者设计的,并且被认为是一种“改进”?我们可以使用.is()
,这是一个选项,尽管我也对调整jQuery()
函数本身感兴趣。现在的问题源于@brk at Yes提到的一点,我的意思是,如果找不到某个元素,它会自动失效。@adeneo你能提供一个链接到某个问题或文档中的讨论吗?我不认为有太多的讨论,这只是一个已知的问题。jQuery尽力确保它的方法不会抛出错误,只是默默地失败。是的,这是一种选择,但不是问题的要点