检查元素是否有内容

check if element has something

本文关键字:是否 元素 检查      更新时间:2023-09-26

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

但我意识到这不能满足我的需要。这项任务还有其他解决方案吗?

根据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>

是的,您可以使用jQuery show()函数,如下所示:

if($("#checker").html()=="1"){
    $("#1").show();
}
elseif($("#checker").html()=="2"){
    $("#2").show();
}

如果您需要再次隐藏它们,可以使用相同的方式使用hide()函数。

拥有某些东西并不意味着==。您可以使用indexOf来检查字符串是否有内容。

试试这个

if($("#checker").html().indexOf("1")!=-1){
        $("#1").css("display","block");
     }