如何设置“style=display:none;”使用 jQuery 的 attr 方法?

Posted

技术标签:

【中文标题】如何设置“style=display:none;”使用 jQuery 的 attr 方法?【英文标题】:How to set "style=display:none;" using jQuery's attr method? 【发布时间】:2015-03-06 22:21:06 【问题描述】:

以下是我想要应用 style="display:none" 属性的 id msform 的表单。

<form id="msform" style="display:none;">
</form>

还应在添加"style=display:none;" 属性之前执行检查。也就是说,如果它已经像上面的代码一样设置,则不应再次设置。

但如果它没有设置,那么它应该。

我应该如何做到这一点?请帮帮我。

【问题讨论】:

你为什么要完全删除样式?(在下面的评论中提到)。我将不得不查看您的其余代码/html,但更改样式通常是比这样做更好的选择。如果您想提供更多详细信息,您可能会得到更有用的答案:) 【参考方案1】:

为什么不直接使用$('#msform').hide()?在幕后 jQuery 的 hideshow 只需设置 display: nonedisplay: block

hide() 如果已经隐藏,则不会改变样式。

根据下面的评论,您将删除所有带有removeAttr("style") 的样式,在这种情况下,请立即调用hide()

例如

$("#msform").removeAttr("style").hide();

这个反面当然是show()

$("#msform").show();

或者,更有趣的是,toggle(),它会根据当前状态在hide()show() 之间有效地翻转。

【讨论】:

我尝试使用它,但后来我有一个删除样式属性的代码 $("#msform").removeAttr("style");所以我想设置 style="display:none;"。怎么办? 再次...只需在removeAttr("style") 之后调用hide() 有什么方法可以使用.hide() 和.before(),基本上我想添加一个隐藏元素——jsfiddle.net/95jeL9xc/2【参考方案2】:

作为其他答案中提到的hide() 的替代方法,您可以使用css() 明确设置display 值:

$("#msform").css("display","none")

【讨论】:

使用 21 个字符而不是“hide()”的 6 个字符是我唯一的反对意见(毕竟这是针对网页):) 是的,我知道您正在尝试提供替代方案,但是如果您被击败了一个更简单的答案,那么没有真正的理由来回答更长的答案。 @jmore009 Idk,从某种意义上说,这更直接地回答了原始问题。使用hideshow 是否更传统,并且可能是更好的路线?是的,海事组织。但是,如果您真的想更改附加到display 的字符串,这就是howie doit。 /耸肩【参考方案3】:
$(document).ready(function()
var display =  $("#msform").css("display");
    if(display!="none")
    
        $("#msform").attr("style", "display:none");
    
);

【讨论】:

请在您的回答中添加一些解释。【参考方案4】:

您可以使用 jquery 的hideshow 函数。 Examples

在您的情况下,只需设置 $('#msform').hide()$('#msform').show()

【讨论】:

【参考方案5】:

根据评论,我们正在从样式属性中删除一个属性。

这里没有影响,但是在样式中使用更多属性时会很有帮助。

$('#msform').css('display', '')

之后我们使用

$("#msform").show();

【讨论】:

【参考方案6】:

您可以使用:$("#msform").hide()。这会将元素设置为display: none

【讨论】:

【参考方案7】:

您可以使用 jquery attr() method 来实现 teh 属性的设置和方法 removeAttr() 删除您的元素 msform 的属性 如代码所示

$('#msform').attr('style', 'display:none;');


$('#msform').removeAttr('style');

【讨论】:

【参考方案8】:

请尝试以下代码:

$('#msform').fadeOut(50);

$('#msform').fadeIn(50);

【讨论】:

以上是关于如何设置“style=display:none;”使用 jQuery 的 attr 方法?的主要内容,如果未能解决你的问题,请参考以下文章

JS中style.display和style.visibility的区别

style="visibility: hidden"和 style=“display:none”之间的区别

尽管 style='display:none' 可以在 IE 中选择隐藏文本

DIV的显示与隐藏

单击图像上的自定义文本位置

加载资源方式