0

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 
4

7 回答 7

0

您可以使用.hasClass()

var $myclass = $('ul .active');
$myclass.hasClass('nav')
于 2013-09-12T06:26:07.430 回答
0

使用.has()

$myclass.has('li[class^="nav"]')
于 2013-09-12T06:26:39.503 回答
0
$('li').filter(function(){ 
    $(this).attr('class').split(' ')[0] == 'nav'
})
于 2013-09-12T06:27:54.113 回答
0

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

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

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

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

这是一个example.

旁注:这是大多数图标字体使用单个类的方式icon-

于 2013-09-12T06:30:06.420 回答
0

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

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

这将为您提供所有这些li元素,其中:
1. 具有active作为其类之一,并且
2. 具有任何以nav(ie nav, nav4, nav<whatever>)开头的类

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

于 2013-09-12T06:54:47.303 回答
0

您可以使用下面的 jquery 表达式

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

请根据您的要求操作表达式。

还要检查小提琴

于 2013-09-12T07:24:05.520 回答
-1

您可以使用直接选择它

$(".nav")
于 2013-09-12T06:25:04.940 回答