jquery获取或查找动态css属性
我有一些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; //
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);