JQuery添加/删除类onClick
点击时打开子菜单,下次点击时关闭-这就是我想要实现的。示例为(“跟随”链接下的子菜单)。JQuery添加/删除类onClick,jquery,Jquery,点击时打开子菜单,下次点击时关闭-这就是我想要实现的。示例为(“跟随”链接下的子菜单)。 它打开子菜单(添加类“打开”),但不关闭。结巴…:( $('#toggle li').on('click', function () { $(this).toggleClass('open') }); $(document).ready(function(){ $('#toggle li').on('click', function(){ $(this).toggleClass('o
它打开子菜单(添加类“打开”),但不关闭。结巴…:(
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
我的html:
<ul id="toggle"><li>
<a href="#">Menu</a>
<ul id="dropdown" class="dropdown-menu" role="menu">
<li><a href="#">2017</a></li>
<li><a href="#">2012</a></li>
<li><a href="#">2003</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
使用
切换类
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
您需要的是以下功能:
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open')('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
退房:)
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
您所做的错误是,您链接了添加和删除函数:
$(this).removeClass('open').addClass('open');
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
这样做的目的是删除类“open”,然后(当找到时)再次添加类“open”。这导致类不会消失。您可以使用函数
toggleClass()
来实现以下目的:
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
这里有一个稍微不同的方法:
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
jQuery
$('#toggle li').on('click', function () {
$(this).find('ul').slideToggle();
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
CSS
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
要防止重定向,必须使用.preventDefault()
:
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
我不确定这是最干净还是最好的方法,但它正在发挥作用
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
如果要保存url以供进一步使用(例如,通过窗口.location
重定向),可以将href属性分配给变量:
var href = $(this).find('a').attr('href');
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
参考
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
这是因为您先删除类,然后再添加它…因此它将始终被添加
$(this).removeClass('open');
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
关闭它
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
用这个代替
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
在jquery中使用函数
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
使用toggleClass()函数
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
只需执行以下操作:
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});
7个答案,所有答案都建议
toggleClass
,有人留下了吗?可能是@Vohuman的副本,不是全部;-),至少我非常喜欢这种“不同的方式”来回答我的问题。我会使用它。但是,我想“进一步开发”。在我的手写html代码中,锚定标记没有url,但通常有:'- …”因此,我的问题是:单击时,如果anchor有url,如何“强制”打开子菜单而不转到该url?@Gallex如果其中一个答案对您有所帮助,请随意接受任何有点仓促、还不精彩的内容。现在所有的锚都没有重定向,但我只需要这个锚,它在子菜单中有子菜单[链接]锚,也需要重定向是的,子菜单锚现在工作,但主菜单不工作
$('#toggle li').on('click', function () {
$(this).toggleClass('open')
});
$(document).ready(function(){
$('#toggle li').on('click', function(){
$(this).toggleClass('open');
});
});