假设我有以下html:
<div class="nav-1 anotherClass">menu one</div>
<div class="someClass nav-2">menu two</div>现在,我想选择这样的类:
var nav = $('[class^=nav]').attr('class').split(' ')[0];它得到nav-1作为第一div和someClass的第二div。
我怎样才能得到以nav开头的课程?
我试过但没成功:
var nav = $('[class^=nav]').attr('class').split(' ')[this];附近有简单的吗?
发布于 2014-07-07 09:55:03
试一试
var nav = $('[class|=nav]').attr('class').match(/(nav-[^\s]+)/)[0];或
$('[class|=nav]').each(function(){
var nav = this.className.match(/(nav-[^\s]+)/)[0]
})发布于 2014-07-07 09:57:56
不,不幸的是,在特定的课程中没有简单的方法。您必须遍历所有类:
var navList = $('[class*=nav]').attr('class').split(' ');
var nav;
for(var i in navList) {
if(navList[i].indexOf('nav') === 0) { nav = navList[i]; break; }
}这就是为什么经常使用自定义html属性的原因。
<div class="nav anotherClass" data-custom-value=1>menu one</div>
<div class="someClass nav" data-custom-value=2>menu two</div>还有..。
var navNumber = $('.nav').attr('data-custom-value');https://stackoverflow.com/questions/24607731
复制相似问题