在 Bootstrap 中隐藏按钮

wr98u20j  于 12个月前  发布在  Bootstrap
关注(0)|答案(3)|浏览(93)

我试图在 Bootstrap 中隐藏一个或多个单选按钮。请参阅jsfiddle

setTimeout(function () {
    $("input[value='other']").parent().hide();
}, 1000);

字符串
除了删除任何一个侧边按钮会使新的侧边按钮样式不正确(没有圆角)之外,它可以正常工作。在示例中,删除“female”可以正常工作,但删除“male”或“other”会导致样式不正确的按钮行。
解决这个问题最简单的方法是什么?请注意,在某些情况下,我可能不得不取消隐藏按钮,因此仅仅从DOM中删除它是不可取的。

vlf7wbxs

vlf7wbxs1#

Bootstrap将样式应用于最后一个元素。

解决方案I(如果您不想删除按钮,只想隐藏它):

在css中创建一个类来给予圆角,并将该类添加到prev()元素中。当您show()元素时,只需删除该类。Fiddle
JS:

setTimeout(function () {
    $("input[value='other']").parent().prev().addClass('pseudoLast')
    $("input[value='other']").parent().hide();

}, 1000);

字符串
CSS:

.pseudoLast{
    border-bottom-right-radius: 4px !important;
    border-top-right-radius: 4px !important;
}


当你show按钮只是做:

$("input[value='other']").parent().prev().removeClass('pseudoLast')
$("input[value='other']").parent().show();

方案二

需要删除fiddle元素
js:

setTimeout(function () {
    $("input[value='other']").parent().remove(); // < here
}, 1000);


稍后您可以追加元素。

dl5txlt9

dl5txlt92#

CSS将样式应用于'btn-group'中的最后一个元素,hide()方法只是将'display:none'添加到元素中,CSS仍然将其解释为最后一个元素,因为它仍然是DOM的一部分。
因此,您需要将其从DOM中完全删除

otherEl = $("input[value='other']").parent();
$("input[value='other']").parent().remove();

字符串
稍后添加它,如下所示:

$("#gender").append(otherEl);


https://jsfiddle.net/sjmcpherso/j1am57r7/
我看不出任何好处,为非DOM删除方法以上之一,但让我知道,如果你这样做

hc2pp10m

hc2pp10m3#

只需使用类“d-none”使按钮显示为none

相关问题