Javascript 尝试切换div上的类失败
我试图从id元素中提取类上的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> <
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,以确保规则足够具体,可以覆盖元素上设置的任何现有规则