jQuery插件正在应用内联样式(display:block)。我感觉很懒,想用display:none重写它。
最好的(懒惰的)方法是什么?
jQuery插件正在应用内联样式(display:block)。我感觉很懒,想用display:none重写它。
最好的(懒惰的)方法是什么?
当前回答
.removeAttr("style")来去掉整个style标签…
.attr("style")来测试值,看看是否存在内联样式…
.attr("style",newValue)将其设置为其他值
其他回答
将插件更改为不再应用该样式。这比随后删除样式要好得多。
如果你想在一个样式属性中删除一个属性——而不仅仅是将它设置为其他属性——你可以使用removeProperty()方法:
document.getElementById('element').style.removeProperty('display');
更新: 我做了一个交互式的小提琴来玩不同的方法和他们的结果。显然,set to empty string、set to faux value和removeProperty()之间没有太大区别。它们都会导致相同的回退——要么是预先给定的CSS规则,要么是浏览器的默认值。
你可以使用jQuery的css方法设置样式:
$('something:visible').css('display', 'none');
删除内联样式(由jQuery生成)最简单的方法是:
$(this).attr("style", "");
内联代码应该消失,对象应该适应CSS文件中预定义的样式。
为我工作!
我有类似的问题与宽度属性。我不能从代码中删除!important,因为它在一个新模板上需要这种样式,我添加了一个Id (modalstyles)到元素中,然后我添加了以下代码到模板中:
<script type="text/javascript">
$('#modalstyling').css('width', ''); //Removal of width !important
$('#modalstyling').width('75%'); //Set custom width
</script>