以下是我的HTML
<ul id="QBS">
<li>
<a class="qb_mode starting Rodgers" href="#">See Stats</a>
</li>
<li>
<a class="qb_mode Manning" href="#">See Stats</a>
</li>
<li>
<a class="qb_mode Brady" href="#">See Stats</a>
</li>
</ul>
我想找到这个无序列表,然后告诉哪个项目有起始qb类,然后返回有他们名字的类(brady rodger manning)等。
让我陷入循环的是链接包含在list元素中的事实。
以下是我的尝试:
element = $("#qbs"); // pretty sure I want this vs getElementbyDocumentID
children = element.children();` // gets me all the list elements
for (i=0;i<children.length;i++) {
grandchild = children[i].children();
???? How would I get the 3rd class on this element?
}
抱歉格式化。
答案 0 :(得分:2)
这个怎么样?
var allClasses = $("#QBS").find('li a[class^="qb_"]')
.map(function () {
return this.className.split(" ").pop();
}).get();
console.log(allClasses);
<强> Fiddle 强>
如果以qb_ *开头的课程在开头,并且您只想参加比赛的最后一课。
如果所有的类名都是qb_mode,那么:
var allClasses = $("#QBS").find('.qb_mode').map(function () {
return this.className.split(" ").pop();
}).get();
如果你想要所有这些:
var allClasses = $("#QBS").find('.qb_mode').map(function () {
var cls = this.className.replace(/qb_mode/,'');
return cls.trim().split(/\W+/);
}).get();
console.log(allClasses);
<强> Fiddle 强>
答案 1 :(得分:1)
如果我理解正确,那怎么样:
var name = $('#QBS a.qb_mode.starting').prop('class').replace(/\s*(qb_mode|starting)\s*/g,'');
console.log(name); // Rogers
答案 2 :(得分:1)
a=document.getElementById('QBS');
var b=a.getElementsByClassName("qb_mode");
var i, j=b.length, result=[];
for(i=0;i<j;i++) {
c=b[i].className.split(" ");
result.push(c.pop());
}
return result;
答案 3 :(得分:1)
var names=[];
$("#QBS > li a").each(function(i){
var a=$(this).attr("class").split(" ");
names[i]=a[(a.length-1)];
console.log("Name is " + names[i]);
});
或更精确的选择器
$("#QBS > li a.qb_mode").each( ....