css 当内联样式为无时显示div

ctrmrzij  于 2022-11-26  发布在  其他
关注(0)|答案(3)|浏览(159)

我有一个提交按钮,它使用重力表单来有条件地显示或隐藏按钮。
显示按钮时,代码如下所示:<button class="button gform_button" id="gform_submit_button_1" style="">
当按钮未显示时,代码如下所示:<button class="button gform_button" id="gform_submit_button_1" style="display: none;">
因此,我想做的是在按钮未显示或具有内联样式display: none时显示div。
我想我可以这样做:
第一个
当页面加载时显示div1,但是当style=""时div不隐藏。当条件为真并且style=""时页面不刷新,这可能是问题所在。有没有办法调整一下,使得当style=""div1不显示?
谢谢你,
约什

46scxncf

46scxncf1#

if (x.style.display = 'none')

这应该是:

if (x.style.display == 'none')

否则,if语句在所有情况下都将返回true,并且x.style.display属性将始终为'none'
与注解部分一样,=用于赋值,==用于值比较,而===用于类型和值比较。
为此
当条件为true且style =""时,页面不会重新整理,这可能就是问题所在。
您应该在某个地方调用该函数以便在页面加载后执行它。

bvhaajcl

bvhaajcl2#

或者,您也可以简单地添加一个Gravity Form HTML字段,其中包含您的替代div。然后使用条件逻辑在提交按钮隐藏时显示它。

jgzswidk

jgzswidk3#

由于编辑@Dream Bold的回答的队列已满,这是我根据之前的回答对这个问题的回答。基本上是澄清
以下代码行:

if (x.style.display = 'none')

应改为:

if (x.style.display == 'none')

主要区别在于使用的运算符(==)。在第一种情况下,使用“=“,if语句将始终返回true,而x.style.display属性将始终为'none'
与注解部分一样,=用于赋值,==用于值比较,而===用于类型和值比较。
要了解有关表达式和运算符的详细信息,请执行以下操作:Check here
关于以下要求
当条件为true且style="”时,页面不会重新整理,这可能就是问题所在。
问题是代码没有被执行。你应该先创建函数,然后通过添加event listeners或设置action来调用之前创建的函数,这样它就可以在页面加载后执行。
我的建议是在元素上使用window.onload+另一个事件侦听器/action属性
就像这样:

window.onload = function(){
var x = document.getElementById("gform_submit_button_1");
if(x.style.display == "none"){
alert("Display of x is none");
document.getElementById("div1").style.display = "block";
}
else{
alert("Display of x is not none");
document.getElementById("div1").style.display = "none";
x.style.display = "block";
}
}

相关问题