gpt4 book ai didi

javascript - jQuery selector 一定是字符串和0到9之后的数字吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:32:43 25 4
gpt4 key购买 nike

我有这个 HTML 元素

            <button id="btn7">7</button>
<button id="btn8">8</button>
<button id="btn9">9</button><button id="btnMulti">*</button>
<button id="btn4">4</button>
<button id="btn5">5</button>
<button id="btn6">6</button><button id="btnDiv">/</button>
<button id="btn1">1</button>
<button id="btn2">2</button>
<button id="btn3">3</button><button id="btnPlus">+</button>
<button id="btn0">0</button>
<button id="clear">C</button>
<button id="clearEntry">CE</button><button id="btnMinus">-</button>
<button id="equal">=</button>

我如何选择所有属性 id 包含“btn”和后面一些数字的按钮元素?换句话说 - 按钮:“btn[0-9]”。它应该是这样的:

$(':button[id^="btn"]').match(/[0-9]/);

最佳答案

您可以使用 James Padolsey 创建的过滤器,希望对您有所帮助

http://james.padolsey.com/javascript/regex-selector-for-jquery/

在 jQuery 之后的文件中添加它

jQuery.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(','),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
},
regexFlags = 'ig',
regex = new RegExp(matchParams.join('').replace(/^s+|s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}

用法:

// Select all elements with an ID starting a vowel:
$(':regex(id,^[aeiou])');

// Select all DIVs with classes that contain numbers:
$('div:regex(class,[0-9])');

// Select all SCRIPT tags with a SRC containing jQuery:
$('script:regex(src,jQuery)');

// Yes, I know the last example could be achieved with
// CSS3 attribute selectors; it's just an example...

更新 2:

你可以使用你的问题:$('button:regex(id,btn[0-9])')

请查找更新的CodePen

关于javascript - jQuery selector 一定是字符串和0到9之后的数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133150/

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