我在jquery脚本中有以下内容:
if ( path[1] ) {
$('.content_nav a[class$="' + pos1_path + '"]').toggleClass('current');
}
选择适当的元素,例如:
<a class='pos1_path' href="#">link</a>
它可以工作,但现在我需要在使用多个类时才能工作,如下所示:
<a class='pos1_path pos2path' href="#">link</a>
我怎样才能做到这一点?
解决:
$('.content_nav a[class$="' + pos1_path + ' ' + pos2_path + '"]').toggleClass('current');
答案 0 :(得分:2)
您可以在jQuery中使用多个选择器:
$('.content_nav a.pos1_path, .content_nav a.pos2_path').toggleClass('current');
如果您希望两个类都存在以便选择元素,那么您可以执行以下操作:
$('.content_nav a.pos1_path.pos2_path').toggleClass('current');
为了清楚起见,我省略了字符串连接。
答案 1 :(得分:1)
你可以只是连接类,也许可以使用上下文
var $context = $('.content_nav');
$('.pos1_path.pos2path', $context);
或者,如果你想选择一个或另一个类:
var $context = $('.content_nav');
$('.pos1_path, .pos2path', $context);
答案 2 :(得分:0)
试试这个:
if ( path[1] ) {
if($('.content_nav a').hasClass(pos1_path))
$('.content_nav a').toggleClass('current');
}
对于多个选择器,您可以参考http://api.jquery.com/category/selectors/
答案 3 :(得分:0)
您可以尝试使用此字符串替换逗号空格。这将选择具有任何类的所有元素。如果这就是你想要的。:
var classList = path[1].replace(" ",",.");
if $('.content_nav a[class$=".' + classList + '"]').toggleClass('current');