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

How to set "style=display:none;" using jQuery's attr method?

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

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

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

但如果未设置,则应该设置。

我该如何实现?请帮助我。

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

hide() 如果已隐藏则不会更改样式。

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

例如

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

反过来当然是show()

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

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

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

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

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

您可以使用jquery的hideshow功能。 Examples

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

$(document).ready(function(){
var display =  $("#msform").css("display");
    if(display!="none")
    {
        $("#msform").attr("style", "display:none");
    }
});

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

这在此处没有影响,但是当在样式中使用更多 属性 时它会有所帮助。

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

之后我们使用

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

您可以使用 jquery attr() method to achieve the setting of teh attribute and the method removeAttr() 删除元素 msform 的属性 如代码所示

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


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

请尝试以下代码:

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

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