我需要一些帮助,使用jQuery将if语句放在一起。如果有两个条件,我想更改我网站上的徽标。
这是一些伪代码,希望能够解释我想要存档的内容:
if(li hasClass active and data-menuid is equal to 0033){
change logo...
}
以下是菜单结构的一个简单示例:
<div id="menu">
<ul id="menu-primary">
<li class="menuactive" data-menuid="0011">
Test1
<ul class="menu-dropdown">
<li data-menuid="0022">Test2</li>
<li class="active" data-menuid="0033">Test3</li>
</ul>
</li>
<li data-menuid="0044">Test4</li>
<li data-menuid="0055">Test5</li>
</ul>
</div>
答案 0 :(得分:1)
if($('li:has(.menuactive[data-menuid="0033"])').length){
change logo...
}
答案 1 :(得分:1)
另一种解决方法:
var $target = $('li', '#menu-primary');
if( $target.hasclass('active') && $target.data('menuid') == '0033' ){
// change logo
}
答案 2 :(得分:1)
您可以检查班级和Attribute Equals Selector [name="value"]
的组合if($('li.menuactive[data-menuid="0033"]').length){
//Your code to change the logo
}
您可以使用$.fn.filter()
将匹配元素集合减少到与选择器匹配的元素或通过函数测试。
var listMeetingCondition = $('li').filter(function(){
return $(this).hasClass('menuactive') && $(this).attr('data-menuid') == "0033"
});
if(listMeetingCondition.length){
//Your code to change the logo
}