jquery如果有类问题
jquery if has class issue
我正在使用引导选项卡,如果单击LI
我想用javascript做一些功能,但有条件的,如果它处于活动状态,则什么都不做,否则就这样做...
我想出了这段代码来检查它是否has a class="active" since bootstrap tabs adds class="active" to LI for the active tab
但它不能很好地工作,它总是返回 true,我在这里做错了什么?
法典
var i = $( "li" ).hasClass( "active" );
$( "li" ).click(function() {
if (i == true ) {
console.log("the tab is already active");
}
else {
console.log("selected");
}
});
这是 JSFIDDLE 演示
对获取的当前对象使用 $(this)
$( "li" ).click(function() {
if ($(this).hasClass("active")) {
console.log("the tab is already active");
}
else {
console.log("selected");
}
});
小提琴
检查 hasClass 是否点击了 li:
$( "li" ).click(function() {
if ($(this).hasClass('active') ) {
console.log("the tab is already active");
}
else {
console.log("selected");
}
});
因为 $("li"( 返回所有 li 标签。并且第一个 li 选项卡的初始状态是活动的,因此 i 变量始终为真。
将代码更改为 Sah 编写的代码@Bhojendra即可使用。
您也可以对动态元素尝试此操作:
$(document).on('click', "li.active", function (e) {
console.log("the tab is already active");
}).on('click', "li:not(.active)", function (e) {
console.log("selected");
});
例
$( "li" ).click(function() {
if ($(this).hasClass("active") ) {
console.log("the tab is already active");
}
else {
console.log("selected");
}
});
相关文章:
- 如果选项被禁用,则多个下拉菜单会导致FIREFOX出现问题
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- Jquery Resize问题.如果宽度小于768宽度,请启用“单击选项”.768以上鼠标悬停选项启用
- 如果其他问题,则使用Javascript
- 这很难简明扼要地说.但是我的 if/else javascript 有问题.“如果”在“其他”发生之后不会发生
- 如果我将一个元素从一个容器移动到另一个容器,是否存在范围问题
- jquery如果有类问题
- 如果我把棱角分明.js放在身体底部,我会面临什么问题
- 如果我对“无法读取未定义的属性'****'”没问题怎么办
- 如果 Div 放置在 img 标记的顶部,则不会在 Div 上触发鼠标关闭事件 - 问题仅在 IE 中
- 余烬JS:如果等于参数的问题
- 如果不是这样的话,这有什么问题
- 如果我在不存在的元素ID上使用$(“#ElementId”).val(),这是个问题吗
- jquery.one()触发了一次查询,但是如果.one(()内部出现问题,我怎么能触发一次查询呢
- 简单的“;如果“否则”;声明问题
- 如果背景等于问题
- 如果语句测试=true但获胜,则会出现奇怪的javascript问题't执行
- 如果效率是一个问题,如何修改JavaScript修剪函数?
- 我的表单持有数据,即使我没有点击提交按钮.但如果我在刷新我的表单,那就没问题了
- jQuery逻辑的问题.如果选中了另一个复选框,则需要取消选中一个复选框,反之亦然