Javascript 根据子元素所具有的类选择子元素
下面是我的HTMLJavascript 根据子元素所具有的类选择子元素,javascript,jquery,Javascript,Jquery,下面是我的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 cl
<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等的类
让我陷入循环的是链接被包装在列表元素中这一事实
以下是我正在尝试的:
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?
}
很抱歉格式化了。这个怎么样
var allClasses = $("#QBS").find('li a[class^="qb_"]')
.map(function () {
return this.className.split(" ").pop();
}).get();
console.log(allClasses);
假设以qb_*开始的课程在开始时,并且您只想参加比赛的最后一个课程
如果所有类名都是qb_模式,则:
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);
这个怎么样
var allClasses = $("#QBS").find('li a[class^="qb_"]')
.map(function () {
return this.className.split(" ").pop();
}).get();
console.log(allClasses);
假设以qb_*开始的课程在开始时,并且您只想参加比赛的最后一个课程
如果所有类名都是qb_模式,则:
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);
如果我理解正确,那么:
var name = $('#QBS a.qb_mode.starting').prop('class').replace(/\s*(qb_mode|starting)\s*/g,'');
console.log(name); // Rogers
.如果我理解正确,那么:
var name = $('#QBS a.qb_mode.starting').prop('class').replace(/\s*(qb_mode|starting)\s*/g,'');
console.log(name); // Rogers
.拉小提琴
或者更精确的选择器
$("#QBS > li a.qb_mode").each( ....
拨弄
或者更精确的选择器
$("#QBS > li a.qb_mode").each( ....
你必须这样组织标签吗?您可以将QB名称放入一个不是类的属性中吗;为$QBS;我不能搞乱html。它是从我无法修改rails代码的其他地方生成的。你必须这样组织标签吗?您可以将QB名称放入一个不是类的属性中吗;为$QBS;我不能搞乱html。它是从我无法修改rails代码的其他地方生成的。您可以使用a.qb_模式,而不是查找以qb@cfs是的,如果这就是他所有的,但是看看他的陈述,一个有qb类,我猜可能是任何以qb开头的东西。a.qb_模式也很好。这是相当坚实的只是玩代码一点。谢谢,我喜欢另一个是一个短一点更好。我对你的一些最新答案投了赞成票,还认为你可以使用a.qb_模式,而不是寻找一个以qb@cfs是的,如果这就是他所有的,但是看看他的陈述,一个有qb类,我猜可能是任何以qb开头的东西。a.qb_模式也很好。这是相当坚实的只是玩代码一点。谢谢,我喜欢另一个是一个短一点更好。不过,我也对你的一些最新答案投了赞成票