首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用regex选择ID元素

使用regex选择ID元素
EN

Stack Overflow用户
提问于 2016-04-06 11:44:06
回答 1查看 636关注 0票数 1

我希望提取具有与以下regex表达式"gridxpxx“匹配的is的div,x是一个整数,grid5p42是一个示例。但我犯了个错误。这是我的jquery代码。

$("div:regex(id, ^([1-9])p[1-9][1-9])$")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-06 12:03:11

代码语言:javascript
运行
复制
// Improved from
// http://james.padolsey.com/javascript/regex-selector-for-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: jQuery.trim(matchParams.shift().replace(validLabels,''))
      },
      regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), 'ig');
  return regex.test(jQuery(elem)[attr.method](attr.property));
};


// DEMO
// P.S: Non-literal RegExp Tokens like \d (digits) need to be double-escaped like \\d
$("div:regex(id, ^grid\\d+p\\d+$)").css({color:"red"});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="grid4p8">grid4p8</div>
<div id="grid12p24">grid12p24</div>
<div id="gridfoobar">gridfoobar</div>
<div id="grid12p24foo">grid12p24foo</div>
<div id="grid4p32">grid4p32</div>
<div id="grid8p24">grid8p24</div>

注释代码得到了改进,因为语法高亮符(或直接来自服务器.)的 DOCS已经吃掉了剧本的大部分反斜杠..。还添加了一个$.trim,允许在attribute的逗号之前使用空格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36450166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档