$(document).ready(function () {

$(".over").each(function() {
    var el = $(this);
    var value = parseFloat(el.text());
    if (value > 1) {
        el
            .css("color", "red");
    }
});

});


▲这是一个很好的脚本,但不能与AdGuard的“ Javascript规则语法”一起使用。

当然,压缩到1行后,也不起作用。但是,当使用标准方式(不使用adguard)时,它可以完美运行。

我认为有两个原因。


AdGuard中没有声明
AdGuard中没有“美元符号”


有什么方法可以使该脚本与AdGuard Javascript规则一起使用?

或者,只是删除“美元符号”?

最佳答案

首先,您可以使用jQuery代替$符号:

jQuery(document).ready(function () {

jQuery(".over").each(function() {
    var el = jQuery(this);
    var value = parseFloat(el.text());
    if (value > 1) {
        el
            .css("color", "red");
    }
});

});


如果仍然没有兼容性,则可以尝试摆脱jQuery并使用本机JS

 window.onload = function(){

 var grids = document.getElementsByClassName('over');
 [...grids].forEach(el => {
    var value = parseFloat(el.textContent);
    if (value > 1) {
        el.style.color ='red';
    }
 });

};

关于javascript - AdGuard,如何在JavaScript中删除“$”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47244463/

10-11 13:32