我对if语句有疑问。 我有一个包含4个菜单元素的页面,所有这些元素都有一个内容。所有这些元素都有一个固定的 ID ,它永远不会改变,它们都有类,活动菜单元素有其他类。因此,我想在有效时为其中两个元素添加一张图片,当 时删除
任何人都可以帮助如果声明这个场合,我将非常感谢您的帮助和建议
谢谢! ;)
答案 0 :(得分:1)
为此,您需要使用.hasClass()来检查该元素是否具有.active
类。
var isActive = $(".someDiv").hasClass("active");
答案 1 :(得分:0)
如何研究并找到问题的答案?
1)检查元素是否有特定的类。
console.log($("#a").hasClass('a b c'));
console.log($("#a").hasClass('a b'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a" class="a b"></div>
2)将图像添加到div。 (您可以设置css背景,或添加图片标签)
if ($("#a").hasClass('a b')) {
$("#a").css({
'background-image': 'url(https://www.gravatar.com/avatar/d26718c…?s=32&d=identicon&r=PG&f=1)'
});
}
if ($("#c").hasClass('c')) {
$("#c").append($('<img src="https://www.gravatar.com/avatar/d26718c…?s=32&d=identicon&r=PG&f=1" />'));
}
.a,
img {
width: 32px;
height: 32px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a" class="a b"></div>
<br /><br />
<div id="c" class="c"></div>
3)虽然有很多div,但决定哪个菜单项应该添加图片标签。 *可以向菜单项添加一个属性,指示图像状态 *或使用菜单的类/ id ..etc
$(document).on('click', '.menu', function() {
if ($(this).attr('shouldcontainimage') == 'true') {
$(".contents").css({
'background-image': 'url(https://www.gravatar.com/avatar/d26718c…?s=32&d=identicon&r=PG&f=1)'
});
} else {
$(".contents").css({
'background-image': ''
});
}
});
.contents {
width: 32px;
height: 32px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a" class="menu a" shouldcontainimage="false">A</div>
<br />
<div id="b" class="menu b" shouldcontainimage="true">B</div>
<br />
<div id="c" class="menu c" shouldcontainimage="false">C</div>
<br />
<br />
<br />
<div class="contents"></div>