Javascript removeClass不工作
我有一个Javascript removeClass不工作,javascript,jquery,html,Javascript,Jquery,Html,我有一个li列表,该列表正在运行数据项目id 我想单击list\u titleremoveClasse“打开”但不工作 <div class="project-side-list scrollbar-inner"> <ul id="sortable"> <li data-project-id="1"> <div class="list-title">Content</div> &
li
列表,该列表正在运行数据项目id
我想单击list\u title
removeClass
e
“打开”但不工作
<div class="project-side-list scrollbar-inner">
<ul id="sortable">
<li data-project-id="1">
<div class="list-title">Content</div>
<div class="list-project-detail-content">
</div>
</li>
</ul>
</div>
提示:toggleClass
不工作
<div class="project-side-list scrollbar-inner">
<ul id="sortable">
<li data-project-id="1">
<div class="list-title">Content</div>
<div class="list-project-detail-content">
</div>
</li>
</ul>
</div>
首先,您的html无效,您没有关闭
标记
下面是一个工作示例,如果您想稍后动态加载列表,可以使用委托函数
函数openToggler(){
var_this=$(this);
var元素=_this.closest('li[data project id]”);
var elementId=element.attr('data-project-id');
$('.project-side-list li[data-project-id]')。而不是('[data-project-id=“'+elementId+'”)。removeClass('open');
元素toggleClass('open');
}
$('.list title')。单击(openToggler);
//$('.project-side-list').delegate('.list-title','click',openToggler)代码>
li{
颜色:红色;
}
李开复{
颜色:蓝色;
}
-
内容
-
例子
-
示例内容
以下是简单的方法
$('.list-title').click(function() {
$(this).toggleClass('open')
})
所以我想单击“li打开框”,然后单击“li顶部删除打开类”。现在,当您单击框上的任意位置时,它将关闭。除非您确实知道自己在做什么,并且有充分的理由感谢您的回答,否则不要将事件侦听器嵌套在其他事件处理程序中,但open class这里正在工作。我尝试了这一工作,但真正的问题;单击“添加打开的类和内容显示”。但当我点击内容关闭李。我的问题就在于此。当我单击“内容”时,不删除类。你可以禁用列表项目详细信息内容吗?单击或我不知道:)所以单击列表中的任意位置。我已经更新了我的答案。现在看看。现在,当您单击.list title
class时,它将查找最近的父级li[data project id]
,并切换class。打开。这是你想要的结果吗?是的,谢谢兄弟。这是可行的,但有一个简单的问题。单击第一个li,然后单击第二个li。但不是第一个李。