gpt4 book ai didi

jquery - 在jquery中制作单个函数来处理==,!==

转载 作者:行者123 更新时间:2023-12-01 06:47:56 24 4
gpt4 key购买 nike

我想创建一个可以处理 ===、!== 的函数来对元素进行排序。我不知道该怎么做。请建议我该怎么做

HTML

 <div class="aa">1</div>
<div class="aa">2</div>
<div class="aa">3</div>
<div class="aa">4</div>
<div class="aa">2</div>
<div class="aa">6</div>

$val=2;

function getVal(div,symbol){
div.filter(function () {
return parseInt($(this).html(), 10)===$val; //i want to use passed symbol in place of ===
}).show();
}

getVal($('.aa'),'===')

演示 http://jsbin.com/EzEREFU/2/

最佳答案

需要运用一些技巧;)

function getVal(div,invert) {
div.filter(function() {
return (parseInt($(this).html(),10) === $val) ^ invert;
}).show();
}

^ 是一个 XOR 运算符。它应该是按位的,但它可以很好地处理 bool 值。

使用:

getVal($(".aa"),false); // "==="
getVal($(".aa"),true); // "!=="

如果您希望能够传入“===”或“!==”,请尝试以下操作:

function getVal(div,symbol) {
var invert = symbol.charAt(0) != "=";
div.filter(function() {
return (parseInt($(this).html(),10) === $val) ^ invert;
}).show();
}
<小时/>

必填Vanilla JS解决办法:

function getVal(className,symbol) {
[].forEach.call(document.getElementsByClassName(className),function(elm) {
if( (parseInt(elm.firstChild.nodeValue,10) === $val) ^ invert)
elm.style.display = "block";
});
}
getVal("aa","==="); // show where equal
getVal("aa","!=="); // show where not equal

那是什么?较旧的浏览器?嘘,去死吧。如果人们故意通过禁用 Windows 更新来让我们的生活变得困难,他们就不值得使用我们出色的网站。

关于jquery - 在jquery中制作单个函数来处理==,!==,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629846/

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