根据innerHTML显示/隐藏HTML元素

时间:2017-11-24 14:39:24

标签: javascript jquery html

我正在使用以下一小段Javascript从两个变量中进行基本计算,然后使用innerHTML显示该值我的javascript知识有限,所以我帮忙把它放在一起。

<script>
 var f = "<?php echo $row_rsFormData['total_flats']; ?>";
 var c = "<?php echo $row_rsCount['count']; ?>";
 var r = Math.round(f / 2) - c
 document.getElementById("remaining").innerHTML = r;
</script>

我希望根据&#39;的价值显示不同的元素。 var r&#39;

如果var r = 0

我想要显示:

<p class="qualify">You have a sufficient amount of leaseholders to qualify for Right to Manage</p>

如果var r> 0

我想要显示:

<p class="count">You need <span id="remaining"></span> more consenting leaseholders to qualify</p>

我意识到这对大多数人来说很简单..所以请善待。

提前致谢

5 个答案:

答案 0 :(得分:1)

我无法相信这还没有得到回答。 由于问题的标签都是客户端,我有一个客户端解决方案:

<script>
 var f = "<?php echo $row_rsFormData['total_flats']; ?>";
 var c = "<?php echo $row_rsCount['count']; ?>";
 var r = Math.round(f / 2) - c
 document.getElementById("remaining").innerHTML = r;
 if(r = 0)
 {
  $('#quality').show();
 }
 if(r > 0)
 {
  $('#count').show();
 }
</script>

为两个标记添加id属性:

<p id="qualify" class="qualify">You have a sufficient amount of leaseholders to qualify for Right to Manage</p>

<p id="count" class="count">You need <span id="remaining"></span> more consenting leaseholders to qualify</p>

最初将它们隐藏在CSS中:

#quality, #count
{
 display:none;
}

我希望这会有所帮助。

答案 1 :(得分:1)

您可以将id属性放在这两个元素中,然后根据r的值,显示/隐藏其中任何一个。

`

<script>
    var f = "<?php echo $row_rsFormData['total_flats']; ?>";
    var c = "<?php echo $row_rsCount['count']; ?>";
    var r = Math.round(f / 2) - c
    document.getElementById("remaining").innerHTML = r;
    r = Number(r);
    if (r == 0) {
        document.getElementById('when0').style.display='block';
        document.getElementById('whenlarge0').style.display='none';
    } else if (r > 0) {
        document.getElementById('whenlarge0').style.display='block';
        document.getElementById('when0').style.display='none';
    }
</script>

`

你的HTML就像这样:

<p id='whenlarge0' class="qualify">You have a sufficient amount of leaseholders to qualify for Right to Manage</p>

<p id='when0' class="count">You need <span id="remaining"></span> more consenting leaseholders to qualify</p>

答案 2 :(得分:0)

这里我假设您的html页面中还没有这两个段落。 使用选择器$('body'),您可以根据r的值附加段落。

<script>
 var f = "<?php echo $row_rsFormData['total_flats']; ?>";
 var c = "<?php echo $row_rsCount['count']; ?>";
 var r = Math.round(f / 2) - c
 document.getElementById("remaining").innerHTML = r;
 if (r === 0) {
   $('body').append("<p class="qualify">You have a sufficient amount of leaseholders to qualify for Right to Manage</p>")
}
else if(r > 0){
   $('body').append("<p class="count">You need <span id="remaining"></span> more consenting leaseholders to qualify</p>")
}

</script>

答案 3 :(得分:0)

您需要提供

标记ID并在您的javascript代码中编写if语句来测试您的条件,隐藏或显示您的

标记:

document.getElementById("your_id").style.display = "none"  // to hide
document.getElementById("your_id").style.display = "block" // to show

答案 4 :(得分:0)

这是我在简单的js中的答案。希望它会对你有所帮助: - )

您的p标签已准备好并已隐藏

您将使用style.display显示正确的一个 如果设置为&#34; none&#34;它会消失,如果设置为&#34;阻止&#34;那么它会出现。 您可以获得指向已在加载时隐藏的p标记的指针 (toRemainder,toQualify ...) 然后根据计算结果显示正确的p标签。 一个谜仍然是:当r&lt;时,你想做什么? 0? ; - )

数字是随机的,因此您可以测试所有可能的输出

&#13;
&#13;
DECLARE INTEGER htons IN "wsock32.dll" INTEGER hostshort
LOCAL portNumber, htonsNumber
portNumber  = 63333
htonsNumber = htons( portNumber )
? htonsNumber
&#13;
var f = Math.round(Math.random() * (60 - 50) + 50);
var c = Math.round(Math.random() * (30 - 25) + 25);
var r = Math.round(f / 2) - c
var toRemainder =  document.getElementById("remaining");
var toQualify = document.querySelector(".qualify");
var toCount = document.querySelector(".count");
var toSurprise = document.querySelector(".surprise");

 if(r==0){
 	toQualify.style.display = "block";
 }
 else if(r>0){
	toRemainder.innerHTML = r;
	toCount.style.display = "block";
 }
 else{
  toSurprise.style.display = "block";
 }
&#13;
&#13;
&#13;