我需要使用jQuery的addClass方法添加一个类。在我的所有其他代码中都可以正常工作,但是在这个特定的代码上,它在元素中添加了“类”一词,但没有添加实际的类。
所以-在我单击hamburgermenu按钮之前,它看起来像是:<body>
,当我单击hamburgermenu按钮时,我的html看起来是这样的:<body class>
但我希望它看起来像{ {1}}。每次我单击该按钮时,我也可以在浏览器的开发人员工具中看到它闪烁,因此正在发生某些事情,但不是我想要的。
我在另一个函数中使用了这行确切的代码(请参阅提供的最后一个),并且工作正常。
以前我在body-element上有一个removeClass,但是我已经删除了所有这些,但它仍然不起作用。
该功能不起作用:
<body class="no-scroll">
起作用的功能:
$('.hamburgermenu-button').click(function() {
$('.main-navigation').toggleClass('d-xs-none');
$('.hamburgermenu-button').toggleClass('collapsed');
$('.main-menu-container').addClass('sticky nav-show');
$('#search-extended').slideUp(200);
$("#search-icon").removeClass("show");
$('body').addClass('no-scroll');
});
由于人们似乎专注于错误的事情,因此我在此问题中更新了代码。
答案 0 :(得分:-1)
根据我对您的理解,您正在寻找一个不是标头元素的主体元素。
但并非如此:http://api.jquery.com/not/
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
$( "li" ).not( ":even" ).css( "background-color", "red" );
在此示例中,它将搜索每个奇怪的li元素。
我建议您使用children()或find()元素,并排除标头元素。