检查元素是否有东西

时间:2016-04-29 06:58:15

标签: javascript jquery html

首先,我从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");
}

但我意识到这不能满足我的需要。 还有另一种解决方案吗?

3 个答案:

答案 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");
     }