Javascript 尝试切换div上的类失败

Javascript 尝试切换div上的类失败,javascript,jquery,Javascript,Jquery,我试图从id元素中提取类上的toggleClass(),例如: $('#create a').click(function(){ $('#create div').toggleClass('active'); }); 它不想在分隔器上切换类活动 这是按钮: <a href="#create" id="create" data-toggle="tab"> <i class="fa fa-plus" aria-hidden="true"></i> <

我试图从id元素中提取类上的
toggleClass()
,例如:

$('#create a').click(function(){
  $('#create div').toggleClass('active');
});
它不想在分隔器上切换类
活动

这是按钮:

<a href="#create" id="create" data-toggle="tab">
  <i class="fa fa-plus" aria-hidden="true"></i>
</a>

确保在DOM中提供唯一的ID

然后你的选择器就错了

他们应该是

$('#create').click(function(){
  $('#creatediv').toggleClass('active'); // given new id to div
});    

没有必要提及div,因为你手里有身份证

确保在DOM中提供唯一的ID

然后你的选择器就错了

他们应该是

$('#create').click(function(){
  $('#creatediv').toggleClass('active'); // given new id to div
});    

没有必要提及div,因为你手里有身份证

这里有两个问题。首先,
#创建一个
将不匹配任何元素,因为
一个
元素具有该id,而不是它的子元素。您可以改为使用
a#create
或只使用
#create

其次,您在
a
div
上复制了
create
id,此时
id
属性在页面中必须是唯一的。您需要使用另一个
id
值来标识
div
元素

考虑到这些问题,请尝试以下方法:

$('#创建')。单击(函数(){
$('#content')。toggleClass('active');
});
.active{color:red;}

内容在这里。。。

这里有两个问题。首先,
#创建一个
将不匹配任何元素,因为
一个
元素具有该id,而不是它的子元素。您可以改为使用
a#create
或只使用
#create

其次,您在
a
div
上复制了
create
id,此时
id
属性在页面中必须是唯一的。您需要使用另一个
id
值来标识
div
元素

考虑到这些问题,请尝试以下方法:

$('#创建')。单击(函数(){
$('#content')。toggleClass('active');
});
.active{color:red;}

内容在这里。。。

首先,对于多个元素,您不应具有相同的ID


其次,选择器的工作方式与您想象的不同:
$(“#create a”)
表示“id=create的元素中的所有a元素”。只需使用
$('#create')
。您可以使用
$('a#create')
,意思是“id=create的a元素”,但这是不必要的,因为id应该始终是唯一的。

首先,对于多个元素,您不应该具有相同的id


其次,选择器的工作方式与您想象的不同:
$(“#create a”)
表示“id=create的元素中的所有a元素”。只需使用
$('#create')
。您可以使用
$('a#create')
,意思是“id=create的a元素”,但这是不必要的,因为id应该始终是唯一的。

使用
$('a#create')
。您正在复制我试图打开的按钮或分隔符中的id(#create?
$(“#create div”)
将在ID为
create
的元素中查找div。您需要
$(“div#create”)
(具有该ID的div)。同样,如上所述,ID必须是唯一的,否则您不能依赖结果。@mikeywikey检查下面的答案,而使用
$(“#create”)
。您正在复制我试图打开的按钮或分隔符中的ID(#create)?
$(“#create div”)
将在ID为
create
的元素中查找div。您需要
$(“div#create”)
(具有该ID的div)。同样,如上所述,ID必须是唯一的,否则您不能依赖结果。@mikeywikey检查下面的答案为什么是反对票?对问题的解释和有效的修复还不够吗?谢谢你,它确实有效,但出于某种原因,我不知道为什么人们在没有告诉任何理由的情况下给出-ve标记。在这种情况下,请在DOM检查器中检查您的CSS,以确保规则足够具体,可以覆盖元素上设置的任何现有规则。为什么否决?对问题的解释和有效的修复还不够吗?谢谢你,它确实有效,但出于某种原因,我不知道为什么人们在没有告诉任何理由的情况下给出-ve标记。在这种情况下,请在DOM检查器中检查您的CSS,以确保规则足够具体,可以覆盖元素上设置的任何现有规则