Nic*_* AD 15 regex jquery jquery-selectors
我想选择一些名称以btn开头的html元素(btn1,btn2 ..)
什么是最有效的方法
我尝试http://james.padolsey.com/javascript/regex-selector-for-jquery/但是没有设法让它工作
$(':regex(class,btn[0-9]').hover( function(){
// not selecting any "btn" class
}
Run Code Online (Sandbox Code Playgroud)
Eli*_*Eli 30
如果要选择class具有以单词开头的属性的所有元素btn:
$( '[class^=btn]' )
Run Code Online (Sandbox Code Playgroud)
如果您想要使用该name属性,只需换出该属性:
$( '[name^=btn]' )
Run Code Online (Sandbox Code Playgroud)
使用属性值starts-with selector:http://api.jquery.com/attribute-starts-with-selector/
你正在做的是选择btnX类的所有元素,其中X可以是0-9.
要使用以"btn"开头的name属性执行此操作,您需要使用:
$(':regex(name,^btn)').hover(function() { ... }, function() { ... });
Run Code Online (Sandbox Code Playgroud)
- 编辑包括工作jsFiddle演示 -
此外,不要忘记把它放在你的页面上:
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));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21956 次 |
| 最近记录: |