我有一个像这样的元素:
<ul class="MainMenu_SubMenu m m0 mid157">
我需要获取 mid157 并使用 157 将变量用于其他内容,即:
$('SomeOtherElement157')
所以我的问题是如何将类名作为变量,然后删除所有数字?这些类是生成的,所以有些人有更多,有些人有更少,但他们都会有中等...
答案 0 :(得分:5)
var className = $('ul').attr('class'),
midNum = /\bmid(\S+)/.exec(className)[1],
selector = 'SomeOtherElement' + midNum;
$(selector);
适用于以下所有方面:
<ul class="MainMenu_SubMenu m m0 mid157"></ul>
<ul class="mid158"></ul>
<ul class="mid159 MainMenu_SubMenu m m0"></ul>
<ul class="MainMenu_SubMenu mid160 m m0"></ul>
答案 1 :(得分:0)
var nums =
document.getElementsByTagName('ul')[0]
.className.match(/.*mid(\d*)/)[1];
$('selector' + nums);
答案 2 :(得分:0)
您可以使用grep:
var classes=$("div").attr("class").split(" ");
var matches = jQuery.grep(classes, function(n, i){
return n.indexOf("mid")===0;
});
if(matches[0]){
var number=matches[0].substring(3);
// do something with that number
}
答案 3 :(得分:0)
var patt1 = /mid(\d+)/,
matches = $('ul').attr('class').match(patt1);
if (matches != undefined && matches[1] != undefined) {
$('SomeOtherElement'+matches[1]);
} else {
alert("No matches.");
}
答案 4 :(得分:0)
var id = $("div").attr("class").match(/mid([\d]+)/gi)[0].replace("mid", "SomethingElse");
alert(id);