Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery在列表中删除并添加新类_Jquery_Html - Fatal编程技术网

Jquery在列表中删除并添加新类

Jquery在列表中删除并添加新类,jquery,html,Jquery,Html,我是新来的。所以这也许是个愚蠢的问题。我有一个CSS代码如下: <ul id="nav"> <li><h1>Cover</h1><a class="cover" href="#cover"></a></li> <li><h1>About</h1><a class="about" href="#about"></a></li> &

我是新来的。所以这也许是个愚蠢的问题。我有一个CSS代码如下:

 <ul id="nav">
  <li><h1>Cover</h1><a class="cover" href="#cover"></a></li>
  <li><h1>About</h1><a class="about" href="#about"></a></li>
  <li><h1>CV</h1><a class="cv" href="#cv"></a></li>
  <li><h1>Contact</h1><a class="contact" href="#contact"></a></li>
 </ul>
提前感谢您的帮助

干杯。

$('nav.about a')
更改为
$('nav.about')

$('nav.about a')
更改为
$('nav.about')


您需要更改选择器。您所说的是找到一个锚元素,它是ID为
nav
且类为
about
”的元素的后代。您想要的是下面的内容,它说“找到一个class
about
的锚标记,它是ID为
nav
的元素的后代:”

$('#nav a.about').click(function() {
   $(this).removeClass('about').addClass('active');
});

您需要更改选择器。您所说的是找到一个锚元素,它是ID为
nav
且类为
about
”的元素的后代。您想要的是下面的内容,它说“找到一个class
about
的锚标记,它是ID为
nav
的元素的后代:”

$('#nav a.about').click(function() {
   $(this).removeClass('about').addClass('active');
});

您的选择器错误,选择器
#nav.about a
查找
a
元素,该元素是具有
nav
id
about
类的
元素的子元素。对于您的HTML,您要查找:
#nava.about'
;给出jQuery:

$('#nav a.about').click(function() {
   $(this).removeClass('about').addClass('active');
});
关于补充的问题,在评论(如下)中:

[如何避免选择多次的“活动”类?…当我单击“关于”时,该类设置为“活动”;当我单击“联系”时,该类也设置为“活动”。因此,我希望同时只限制一个“活动”类

要实现这一点,只需在
click()
方法中选择具有该类名的元素,如下所示:

$('#nav a.about').click(function() {
   $('#nav a.active').removeClass('active');
   $(this).removeClass('about').addClass('active');
});
参考资料:


您的选择器错误,选择器
#nav.about a
查找
a
元素,该元素是
id
nav
about
的元素的子元素。对于HTML,您正在查找:
#nav.about'
,给出jQuery:

$('#nav a.about').click(function() {
   $(this).removeClass('about').addClass('active');
});
关于补充的问题,在评论(如下)中:

[如何避免选择多次的“活动”类?…当我单击“关于”时,该类设置为“活动”;当我单击“联系”时,该类也设置为“活动”。因此,我希望同时只限制一个“活动”类

要实现这一点,只需在
click()
方法中选择具有该类名的元素,如下所示:

$('#nav a.about').click(function() {
   $('#nav a.active').removeClass('active');
   $(this).removeClass('about').addClass('active');
});
参考资料:


太好了。非常感谢!另一个问题:如何避免选择多次的“活动”类?你能解释你的问题吗?我不确定我是否理解问题所在。对不起,我的英语。例如:当我单击“关于”时,该类设置为“活动”;当我单击“联系”时,该类设置为“活动”太好了。所以我想同时只限制一个“活动”类。查看编辑,我认为这应该可以解决您面临的问题。非常感谢,它工作起来很有魅力:-)我是平面设计师,所以如果您需要帮助,请告诉我:-)祝您愉快!太好了。非常感谢!另一个问题:如何避免“活动”类哪一个被选中了很多次?你能解释一下你的问题吗?我不确定我是否理解这个问题。对不起我的英语。例如:当我点击“关于”时,这个类设置为“活动”;当我点击“联系”时,这个类也设置为“活动”。所以我只想限制一个“活动”同时上课。查看编辑,我认为这应该可以解决您面临的问题。非常感谢,它很有魅力:-)我是平面设计师,如果您需要帮助,请告诉我:-)祝您愉快!