jquery获取或查找动态css属性

jquery获取或查找动态css属性,jquery,string,Jquery,String,我有一些css类应用于body,我想得到一个动态变化的特定类。所以,是这样的: <body class="apple mango guava lime-1"> 我想要的是1 现在,lame-1可以在另一时间更改为lame-2。因此,我想要的是一种搜索正文中所有CSS类的方法,然后检查lime-是否存在,并获取连字符后的下一个值 我已经这样做了: var classes=$('body').attr('class') 感谢您使用、使用和执行类似操作的方法 var num; //

我有一些css类应用于
body
,我想得到一个动态变化的特定类。所以,是这样的:

<body class="apple mango guava lime-1">

我想要的是
1

现在,
lame-1
可以在另一时间更改为
lame-2
。因此,我想要的是一种搜索正文中所有CSS类的方法,然后检查
lime-
是否存在,并获取连字符后的下一个值

我已经这样做了:
var classes=$('body').attr('class')

感谢您使用、使用和执行类似操作的方法

var num;
// get class attribute and split them into individual 
// and iterate
$('body').attr('class').split(' ').forEach(function(v){ 
   // check for match
   var m = v.match(/^lime-(\d+)$/);
   // if matched get the captured value
   if(m && m.length)
     num = m[1]; 
});

console.log(num);

更新:您可以使用更好的正则表达式使其更加简单

var num;
var m = $('body').attr('class').match(/\(?^|\s)lime-(\d+)(?:\s|$)/);
// if matched get the captured value
if(m && m.length)
  num = m[1]; 

console.log(num);

您可以获取该类,然后分割出您不想要的区域。当然,在您的情况下,
DIV
将是
body

$(文档).ready(函数(){
变量类=$('div').attr('class');
警报(类[classes.length-1]);
});

[att|=val]

表示具有att属性的元素,其值为 确切地说是“val”或以“val”开头,后跟“-” (U+002D)。这主要是为了允许语言子代码匹配 (例如,HTML中a元素上的hreflang属性)如所述 在BCP 47([BCP47])或其继任者中。For lang(或xml:lang)语言 子码匹配,请参见:lang伪类


如果可以的话,我建议你改变你的逻辑。与其依赖类中的元数据,不如将其添加为可直接读取的
data-*
属性,而不必筛选应用的类名。这将适用于示例中的特定类名集,但OP已声明它们是动态的。如果类是
apple mango foo-1 guava
,这将如何工作?@Rorry如果最后一部分是唯一发生变化的内容,则此解决方案将起作用。@davexpression:很高兴提供帮助:)
$("[class|='lime']").attr("class").slice(-1);