2012-07-06 76 views
3

考虑以下标签:如何更改HTML标签的样式属性?

<div class="my_class" style="width: 453px; height: 604px;"> 
    // stuff 
</div> 

我想将它更改为:

<div class="my_class" style="height: 453px; width: 604px;"> 
    // stuff 
</div> 

我需要这样做使用jQuery,我不一定会知道的heightwidth值。我会如何去做这件事?

+0

你们是不是要一个样式应用到所有'div's有一定的阶级?或者只是那个'div',也恰好有这个类名? – 2012-07-06 08:44:13

+0

我想要做的就是将'width'改为'height',将'height'改为'width'。其他一切都保持不变。 – 2012-07-06 08:47:53

+0

看来,有时计算机'记住'旧的宽度和高度设置。这用于图像旋转功能。有没有办法“冲洗缓存”,或者阻止计算机记住之前的宽度和高度设置? – 2012-07-06 08:59:43

回答

3

,你想同时做多个元素这也将处理情况:

$('.my_class').each(function(){ 
    var $this = $(this); 
    var oldWidth = $this.css('width'), 
     oldHeight = $this.css('height'); 
    $this.css({ 
     width: oldHeight, 
     height: oldWidth 
    }); 
}); 
+0

精美的作品!非常感谢! – 2012-07-06 08:52:14

3

尝试:

var cls = $(".my_class"); 
var h = cls.height(); 
var w = cls.width(); 
cls.css({"width":h,"height":w}) 
2

要交换的宽度和高度:

$('.my_class').css({ 
     width: $(this).height(), 
     height: $(this).width() 
    }); 

jsFiddle example

0

试试这个:

 $(function() { 
    var Width = $this.css('width'), 
    height = $this.css('height'); 
    $(".my_class").width(width).height(height); 
    }); 

 $(document).ready(function() { 
    var Width = $this.css('width'), 
    height = $this.css('height'); 
    $(".my_class").width(604).height(height); 
    }) ; 
2

我觉得这是最简单的/最佳途径。

http://jsfiddle.net/rp9jx/1/

$('.my_class').removeAttr("style").attr({ 
    style: "height: 453px; width: 604px;" 
}); 
+0

最简洁的方法,尽管我认为prop(http://api.jquery.com/prop/)是现在使用的推荐的jQuery方法来代替attr。 – lxalln 2012-07-06 09:29:18