好的我正在尝试检查属性value
的值是否等于某个字符串。如果我提醒它告诉我这是否属实,那将是真的,但如果该陈述为真,我就无法添加课程。我做错了什么?
<div class="firstch" value="20:30">TEST</div>
div {
display:block;
border:1px solid black;
}
.disable {
background-color: red;
}
var attr = $('.firstch').attr('value');
if ( attr === '20:30') {
$(this).addClass('disable');
} else {
alert('YEah right -_-');
}
上的代码
答案 0 :(得分:1)
您正在为div添加value
属性。仅限此document
<button>, <option>, <input>, <li>, <meter>, <progress>, <param>
具有此值属性。因此,您可以向此div添加自定义data属性
其次,你试图在if
循环中使用 this 进行引用。但是这里$(this)
将失败,因为你没有遍历任何jquery对象。相反,它只是比较和平等检查。所以你需要使用适当的选择器来引用元素。
希望此代码段有用
<强> HTML 强>
<div class="firstch" data-value="20:30">TEST</div> // Note use of data attribute
<强> JS 强>
var attr = $('.firstch').attr('data-value');
// For some browsers, `attr` is undefined; for others, `attr` is false. Check for both.
if (attr === '20:30') {
$('.firstch').addClass('disable');
} else {
alert('YEah right -_-');
}
答案 1 :(得分:0)
它按预期工作。问题是this
引用了代码中的document
对象。将其更改为:
$('.firstch').addClass('disable');
答案 2 :(得分:0)
你的选择器添加类
是错误的$(this).addClass('disable');
这里$(this)是 window 对象,您应该为要添加类的元素使用正确的选择器。