Dan*_*ams 6 jquery twitter-bootstrap
我99%肯定我在这里遗漏了非常明显的东西。在下一个示例中,单击按钮应使带有.progress类的div 可见。但是,它不起作用。
function func() {
$('.progress').show();
}Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<div class="progress d-none">
No longer hidden!
</div>
<button onclick="func()">
click me
</button>Run Code Online (Sandbox Code Playgroud)
Shi*_*rsz 20
这里的问题是Bootstrap 4中的d-none实用程序类向元素添加了下一个样式:CSS.progress
.d-none {
display: none!important;
}
Run Code Online (Sandbox Code Playgroud)
另一方面,当您show()从jQuery调用该方法时,它会将display: block样式添加到提到的元素中。但是,之前的样式仍然优先于这个样式,并且元素保持隐藏状态。这是由于该!important条款,有关详细信息,您可以阅读下一个链接:
因此,替代方案(或良好做法)是d-none从要显示的项目中删除该类。
function func()
{
$('.progress').removeClass("d-none");
}
Run Code Online (Sandbox Code Playgroud)
在下一个示例中,d-none切换类以更改.progress元素的可见性:
.d-none {
display: none!important;
}
Run Code Online (Sandbox Code Playgroud)
function func()
{
$('.progress').removeClass("d-none");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |