14

我试图弄清楚如何使用 .prop(hidden: true) 方法隐藏带有 JQuery 的按钮。出于某种原因,在 Chrome 中,当我设置此值并查看 html 时,该按钮有一个隐藏元素,但该按钮仍显示为在页面上可见。

有任何想法吗?

4

9 回答 9

31

按钮没有隐藏属性?

$('button').hide();

或者

$('button').toggle(true);  //shows button
$('button').toggle(false); //hides button
于 2013-02-15T17:35:16.087 回答
4

您可以使用将display样式设置为none. 例如,

$("#button").css("display", "none");

或者,.hide()为简洁起见,

$("#button").hide()

还有visibilityopacity但是这两个可能不会产生你想要的效果。

于 2013-02-15T17:35:28.210 回答
2

您不能使用 jQuery 的.prop()功能隐藏按钮,您必须使用其中一个,.hide() or .fadeOut()或者您可以尝试使用.css()以下方法:

使用.css()

$('input[submit]').css('display','none');

使用fadeOut()

$('input[submit]').fadeOut();

使用.hide()

$('input[submit]').hide();
于 2013-02-15T17:38:28.770 回答
1

您的语法不正确,但无论如何都没有“隐藏”属性。你可能想要:

$('#your_button').hide();

或者可能

$('#your_button').addClass('hidden');

如果你的 CSS 中有一个“隐藏”类。

语法的错误部分是函数调用的参数表达不正确。设置属性应如下所示:

$("#your_button").prop("name", "value");
于 2013-02-15T17:35:09.403 回答
1

jQuery.prop仅用于 HTML 属性,即在 DOM 节点上定义的东西。CSS 样式不适用于用 prop 设置的东西,hidden只是不存在,而hreforclass是适用的。相反,您必须使用$(el).css('display', 'none')or $(el).hide()

于 2013-02-15T17:35:24.140 回答
1

如果您碰巧将 jquery 与 bootstrap4 一起使用,那么您所描述的实际上是正确的。

只需执行以下操作: $element.prop('hidden', true);

如果没有可用的 bootstrap 4,它仍然适用于现代浏览器。

于 2015-10-07T10:42:16.653 回答
0

prop() 是一个 getter 函数:http ://api.jquery.com/prop/我建议使用隐藏:http ://api.jquery.com/hide/

于 2013-02-15T17:36:45.383 回答
0

如果你想使用道具,那么

$("#my_button").prop("style").display="none"

我会去w/o jquery。(回到基础)

document.getElementById("mybutton").style.display = "none";
于 2013-02-15T18:21:18.030 回答
0

您可以使用ternary运算符和css()方法来完成相同的事情:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

$("#button").css("display", (mycondition) ? "block" : "none");
于 2016-03-03T19:52:29.280 回答