使用jQuery删除内联样式

时间:2012-01-09 15:29:51

标签: jquery css

<div class="mydiv">
  <ul style="height:111px; width:222px;">
    ...

是否可以使用jQuery(或普通的javascript)删除height属性?请注意,有几个.mydiv ul的实例具有不同的高度。

6 个答案:

答案 0 :(得分:18)

要删除属性,请使用:

$(".mydiv UL").css("height", "");

感谢am not i am纠正我的回答。

答案 1 :(得分:3)

是的!你可以!

如果将css属性设置为空值,则会清除它。

因此,如果您的内联样式为“background:pink”,则可以通过以下方式将其删除:

$element.css('background','')

我很确定我在SE上的某个地方学到了这一点,但是,唉,没有特定的网站来源,所以道歉因为无法在信用到期时给予信用。

更新:

好吧,我想我应该去了源头。从jQuery文档(强调我的):

  

将样式属性的值设置为空字符串 - 例如$('#mydiv')。css('color','') - 如果元素已经直接应用,则从元素中删除该属性,是否在HTML样式属性中,通过jQuery的.css ()方法,或通过样式属性的直接DOM操作。但是,它不会删除在样式表或元素中使用CSS规则应用的样式。

http://api.jquery.com/css/

答案 2 :(得分:2)

试试这个:

$('.mydiv ul').height('');

答案 3 :(得分:1)

是的,它是......你想要如何做到这一点

<script type="text/javascript">
    function changestyle(element) {
        var currentstyle = document.getElementById(element).style.display;
        if (currentstyle == "inline") {
            document.getElementById(element).style.display = "";
            } else {
            document.getElementById(element).style.display = "inline";
        }
    }
</script>

对于不同的broswers,这可能略有不同,但它应该告诉你如何改变它。

eek ..无视.. jquery - 更容易:)

答案 4 :(得分:0)

将您的样式属性添加到CSS,然后您可以使用这些jQuery函数添加或删除类: addClassremoveClass

答案 5 :(得分:0)

$('.mydiv ul').each(function(){
    $(this).attr('style', $(this).attr('style').replace('height: ', 'height:').replace('height:'+$(this).css('height')+';', '')); 
});

确保样式值格式为"height:111px;""height: 111px;"