一个JS文件(不允许我编辑)正在将内联CSSdisplay:flex!importal
应用到div
。 如何将其重写为display:none
?
我尝试了以下操作,但没有成功:
CSS:
.ui.page.modals.dimmer.transition.visible.active {
display: none !important;
}
.ui.page.modals.dimmer.transition.visible.active[style] {
display: none !important;
}
jQuery:
$("div.ui.page.modals.dimmer.transition.visible.active").css("display","none");
从另一个角度考虑,您可以尝试将有问题的模态元素包装在另一个元素中,并使包装元素display:none
。
如果父组件未显示,则子组件的display属性是什么并不重要。
我相信jQuery语法应该如下所示:
$('div.ui.page.modals.dimmer.transition.visible.active').wrap('<div style="display:none"></div>');
见https://api.jquery.com/wrap/
我不知道你是否可以在你的代码库中使用这个黑客。 (https://jsfiddle.net/x37r4jzm/)
<style>
.hidden-div{
display: none
}
</style>
<script>
var element = document.getElementById('selector')
// `element` is the element you want to wrap
var parent = element.parentNode;
var wrapper = document.createElement('div');
wrapper.className = 'hidden-div';
// set the wrapper as child (instead of the element)
parent.replaceChild(wrapper, element);
// set element as child of wrapper
wrapper.appendChild(element);
</script>
如果你添加了!immortant,而js不允许你覆盖它,你可以简单地做以下步骤:1。 尝试使用js删除属性样式,比如-
$("div.ui.page.modals.dimmer.transition.visible.active").removeAttr('style');
2.一旦你移除style属性,只需添加-
$("div.ui.page.modals.dimmer.transition.visible.active").css("display","none");
试试它一直对我有效。 我希望这能帮到你。
请确保在加载了无法编辑的脚本后添加此js。