首先,我从JSON接收一行数据并在HTML上打印数据,如
<p id="checker">1+2</p>
以下我有一些复选框
<p style="display:none" id="1">cat</p>
<p style="display:none" id="2">dog</p>
<p style="display:none" id="3">fish</p>
如果if语句为真,我想出现一些p标签
if ($("#checker").html() == "1") {
$("#1").css("display", "block");
}
elseif($("#checker").html() == "2") {
$("#2").css("display", "block");
}
但我意识到这不能满足我的需要。 还有另一种解决方案吗?
答案 0 :(得分:3)
根据值get元素和show。
拆分字符串并迭代它们
$('#checker')
.html() // get html content
.split('+') // split string by +
.forEach(function(v) { // iterate over them
$('#' + $.trim(v)).show() // get element by id and show
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="checker">1+2</p>
<p style="display:none" id="1">cat</p>
<p style="display:none" id="2">dog</p>
<p style="display:none" id="3">fish</p>
答案 1 :(得分:0)
是的,您可以使用jQuery show()
函数,如下所示:
if($("#checker").html()=="1"){
$("#1").show();
}
elseif($("#checker").html()=="2"){
$("#2").show();
}
如果您需要再次隐藏它们,可以使用相同的hide()
功能。
答案 2 :(得分:0)
有些事情并不意味着==
。您可以使用indexOf检查字符串是否包含某些内容。
试试这个
if($("#checker").html().indexOf("1")!=-1){
$("#1").css("display","block");
}