用于检测失败选择器的 JQuery 插件

标签 jquery

是否有一个 jQuery 插件可以在选择器返回 0 项时输出以进行故障排除?

我知道使用.length - 我是从观察/分析/诊断级别而不是代码级别进行查看。我不想将 .length 放在我的代码中。

要放入代码,假设我有一些复杂的选择器

$('#someComplex selectorHere')...

在代码的另一部分,我想知道 JQuery 对于该选择器返回 0。

function onFailedSelector(selectorString) {
   console.log("Failed to select "+selectorString);
}

上下文:由于 ASP.NET 的命名约定,我们刚刚引入了大量错误,了解哪些错误会很有帮助。

最佳答案

尝试一些AOP magic

我有一个working example如果您想尝试一下,请访问 jsfiddle。

jQuery.aop.around({target: window, method: '$'},
  function(invocation) {
    var result = invocation.proceed();
    if (result.length == 0) {
      console.log('0 Result selector' + invocation.arguments[0]); 
    }
    return result;
  } 
);

我不确定您想要注销调用什么,但这应该可以帮助您开始。 AOP 插件网站的引用资料中有更多信息。

这应该将所有调用包装到 $("selector") 中,当您完成调试时,只需删除 aop 插件和您的周围代码片段即可。

关于用于检测失败选择器的 JQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271749/

相关文章:

javascript - 如何使用 jQuery load 获取电子商务网站的产品

javascript - 如何正确使用appendChild

jquery - 我需要使用 tbody 吗,看起来浏览器正在生成它

jquery - CSS:隐藏移动菜单的溢出

javascript - if(字符串.包含(字符串))。那可能吗?

javascript - 为什么按钮类型是submit?

javascript - jQuery UI $.datepicker.formatDate 返回 NaN NaN Nan

javascript - 使用 Javascript 扩展 div 时更改 "Expand"按钮文本颜色

php - 尝试使用表单向MYSQL添加多条记录

javascript - jQuery 选项 appendTo 选择移动到下一个选项而不是选择一个