我想检查输入的值是否与具有输入值类的div相同。当它必须出现时,它必须出现。
$("#submit").click(function(e){
var tokenValue = $('.valueToken').val();
console.log($("div").hasClass(tokenValue));
if(tokenValue == $("div").hasClass(tokenValue)){
console.log('test');
$(this).addClass('testClass');
}
});
这是html:
<div class="a6rqc">
<p>Token: a6rqc</p>
<p>Oefeningen lage rug: lagerugklacht Herhalingen:10 Sets:2</p>
<p>Oefeningen nek: nekklacht Herhalingen:25 Sets:1</p>
</div>
<div class="f5wfv">
<p>Token: f5wfv</p>
<p>Oefeningen lage rug: lagerugklacht Herhalingen:15 Sets:2</p>
<p>Oefeningen nek: nekklacht Herhalingen:20 Sets:2</p>
<p>Oefeningen schouder: schouderklacht Herhalingen:30 Sets:1</p>
</div>
所以基本上当输入文本值与类相同时:a6rqc或f5wfv比它必须显示div
答案 0 :(得分:2)
if(tokenValue == $("div").hasClass(tokenValue))
正在测试字符串==布尔值
仅当boolean为true且string为truthy或者boolean为false且string为falsy时才有效
您正在将testClass添加到提交按钮
如果要将testClass添加到带有输入类的div中,这将起作用
var tokenValue = $('.valueToken').val();
$("div."+tokenValue).addClass("testClass"); // or .show()
答案 1 :(得分:0)
我想检查输入的值是否与div相同 输入值的类。当它必须出现时,它必须出现。
您错误地将string
值与boolean
值进行了比较:
if(tokenValue == $("div").hasClass(tokenValue))
你想要的是这个:
var tokenValue = $('.valueToken').val();
if($("div").hasClass(tokenValue)){
console.log('test');
$(this).addClass('testClass');
}
答案 2 :(得分:0)
在提交时获取input
值并将其与div class
attribute
进行比较。
1 - 如果您的div有一个类名,您可以使用:
$("#submit").click(function(e){
if($('div').attr('class')==$('.valueToken').val()){
console.log('token value matches the div class name');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div class="something"></div>
<input value="" class="valueToken">
<button id="submit">Submit</button>
2-如果您所需的div有多个类名,您可以使用hasClass
方法。
$("#submit").click(function(e){
if($('div').hasClass($('.valueToken').val())){
console.log('token value matches the div class name');
}
});
在更新你的问题之后,我建议你跳过if子句,然后尝试通过类名获取所需的div并显示它是否存在:
$("#submit").click(function(e){
$('div').hide();//initially hide all divs
$("div."+tokenValue).show(); // only show the required div
});
答案 3 :(得分:0)
if ($("div[class='"+tokenValue+"']").length>0) {
$("div[class='"+tokenValue+"']").addClass('testClass');
}
答案 4 :(得分:0)
$("div").hasClass(tokenValue)
当课程存在或不存在时,它返回true或false。
tokenValue == $("div").hasClass(tokenValue)
这是错误的,因为它会像if(foo == true)
一样永远是假的。
你可以试试这段代码
$("#submit").click(function(e){
var tokenValue = $('.valueToken').val();
if($("div").hasClass(tokenValue)){
$(this).addClass('testClass');
}
});