选择以jquery开头的类

时间:2013-09-12 06:22:40

标签: jquery css

... HTML

第一个案例

<ul>
<li class="one two"></li>
<li class="nav three active"></li>
<li class="four nav4"></li>
</ul>

第二种情况

<ul>
    <li class="one two"></li>
    <li class="nav three"></li>
    <li class="four nav4 active"></li>
    </ul>

尝试选择以这样的nav开头的类,但似乎是错误的声明:

var $myclass = $('ul .active');
var $thisclass = $myclass.attr('[class^="nav"]'); // this line 

7 个答案:

答案 0 :(得分:0)

您可以使用.hasClass()

var $myclass = $('ul .active');
$myclass.hasClass('nav')

答案 1 :(得分:0)

使用.has()

$myclass.has('li[class^="nav"]')

答案 2 :(得分:0)

$('li').filter(function(){ 
    $(this).attr('class').split(' ')[0] == 'nav'
})

答案 3 :(得分:0)

使用^=运算符只会选择导航,如果它是类列表中的第一个类:

<li class="nav4 .."></li>

您可以添加*=运算符以在所有列表中搜索它:

var myClass = $('[class^="nav"], [class*=" nav"]');

继承人 example

旁注:这就是大多数图标字体使用单个班级icon-

的方式

答案 4 :(得分:0)

您可以使用以下单行代码来实现所需的结果:

$('li.active*[class*="nav"]')

这将为您提供所有li个元素,其中: 1. active作为其中一个类,和
2.其中包含以nav开头的任何课程(即navnav4nav<whatever>

演示请访问http://jsfiddle.net/purnil/dHRkS/2/

答案 5 :(得分:0)

您可以使用以下jquery表达式

$('ul').find('li[class*="nav"]').html('abc');

请根据您的要求操纵表达。

另请查看fiddle

答案 6 :(得分:-1)

您可以使用

直接选择它
$(".nav")