我需要将一个类添加到多个元素中,我想通过jQuery实现它,但我是菜鸟,我不知道如何选择内容为nsbp的元素; 。情况就是这样:
<ul>
<li><a href="#" target="_blank"><b>Example</b> <br><span>Example Description</span></a></li>
<li class="spacer"> </li>
<li><a href="#" target="_blank"><b>Example</b><br><span> </span></a></li>
<li class="spacer"> </li>
<li><a href="#" target="_blank"><b>Example</b><br><span> </span></a></li>
<li class="line2"> </li>
</ul>
请帮忙!
答案 0 :(得分:7)
可能是这样的:
$("span").filter(function(){
return $(this).html().match(/ /) !== null;
}).addClass("some-class");
或者可能是这样的:
// http://en.wikipedia.org/wiki/Non-breaking_space
// In Unicode, [the non-breaking space] is encoded
// as U+00A0 (HTML:   )
$("span:contains('\u00a0')").addClass("some-class");
答案 1 :(得分:0)
如果您想要所有具有这些特定类的节点:
// Select all the nodes that have either the class "spacer" or the class "line2"
var elements = $('.spacer, .line2');
// Add another class
elements.addClass('newClass');
如果您想要所有内容为
的节点,那么您应该使用contains
选择器或filter
,正如其他答案所说,但如果您不需要(或者您可以更改HTML以使
的所有节点都具有特定的类),然后按类选择更高效,更简单。
答案 2 :(得分:0)
像这样:
$("elementYouWantAddClass").hasClass("yourClassCss"))
答案 3 :(得分:0)
$(window).ready(function(){
$('li').each(function(){
if($(this).html()==" ") {
$(this).addClass('css_class_name');
}
});
});
答案 4 :(得分:0)
试试这个
$("ul li").not(':has(a)').addClass('classname');
请忽略上述内容并尝试以下代码段。
$('span').filter(function () {
return $(this).html().indexOf(' ') > -1;
}).addClass('yourClass');