作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有这个 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/
我正在尝试开发右边框/Angular 具有特定 Angular (30°) 的表格。我见过一些类似的解决方案,但它们都无法在一定程度上发挥作用。如果我想从 30° 改变到 20°,我不想花太多力气。
我是一名优秀的程序员,十分优秀!