gpt4 book ai didi

javascript - 如何记录不存在的元素

转载 作者:行者123 更新时间:2023-11-30 15:35:10 29 4
gpt4 key购买 nike

团队在网络应用程序中做了很多修改。有些时候我发现了像这样的 jquery 代码:

$('#foo').doSomething();

但是当我在 HTML 中搜索 id="foo" 时,它不再存在了。

为了帮助我们并防止错误,我想console.log将每个不存在的元素转发给$()函数。

这是一个例子:

//I want to hide this text.
$('#foo').fadeOut(5000);
//This id #bar does not exist.
$('#bar').fadeOut(5000);
//I want to console.log that #bar does not exist
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="foobar">
I don't want to hide this text.
</div>
<div id="foo">
I want to hide this text.
</div>
<div id="bbar">
This layer is named bbar and not bar.
</div>

在开发期间,我想记录 $('#bar') 调用的 #bar 元素不存在。是否可以扩展 jQuery?我想输出这样的东西:

Selector #bbar does not exist

使用了 Jquery 3.1 版。我读了JQuery events on non present elements ,但我不想改变每个电话。例如,我想通过扩展 jQuery 来记录不存在的元素。

最佳答案

你也许可以重载 $ 函数,如 https://jsfiddle.net/jm7LtLqe/1/

$ = function(jQuery) { 
return function(pars) {
var result = jQuery(pars);
if (result.length==0) console.log('selector has no results',result.selector);
return result;
}
}($);

编辑(需要ES6 Object.assign复制$.ajax等属性):

$ = Object.assign(function (jQuery) { 
return function(pars) {
var result = jQuery(pars);
if (result.length==0) console.log('selector has no results',pars);
return result;
}
}($),$);

关于javascript - 如何记录不存在的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664450/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com