我看起来像http://jsfiddle.net/ShoeMaker/6EEjs/1/:
<head><style>
span.mw-uctop {
font-weight: bold;
}
li.mw-uctop {
font-size: 8px;
text-decoration: italic;
}
</style><script>
$("li").contents("span.mw-uctop").addClass("mw-uctop");
</script></head><body>
<ul>
<li class="">Text blurb 1 <span class="mw-uctop">(top)</span> </li>
<li class="">Text blurb 2</li>
<li class="">Text blurb 3 <span class="mw-uctop">(top)</span> </li>
<li class="">Text blurb 4</li>
<li class="">Text blurb 5</li>
<li class="">Text blurb 6</li>
<li class="">Text blurb 7 <span class="mw-uctop">(top)</span> </li>
<li class="">Text blurb 8 <span class="mw-uctop">(top)</span> </li>
</ul>
</body>
我想要的最终结果是我想将“mw-uctop”类添加到所有具有“mw-uctop”类的子元素的“li”元素中。我该怎么做?
答案 0 :(得分:2)
你可以这样做:
$('li > .mw-uctop').parent().addClass('mw-uctop');
答案 1 :(得分:2)
如果“孩子”是指“后代”,那么:
$("li:has(.mw-uctop)").addClass('mw-uctop');
如果你的确意味着孩子,请尝试:
$("li:has(> .mw-uctop)").addClass('mw-uctop');
答案 2 :(得分:1)
你可以试试这个:
$('.mw-uctop').closest('li').addClass('mw-uctop');
答案 3 :(得分:1)
试试这个:
$('li').has('span.mw-uctop').addClass('mw-uctop');
答案 4 :(得分:1)
答案 5 :(得分:1)
这是一种更纯粹的面向javascript的方法:
var query = document.querySelectorAll('li > .mw-uctop');
//there are other workarounds for query selector for older browsers (ie6/7)
for(i=0;i<=query.length;i++){
query[i].parentNode.className+= 'mw-uctop';
// For Testing: document.write(query[i].parentNode.className+"<br>");
}
编辑:哎呀一秒钟 编辑:修复