如何使用jQuery更改CSS属性名称?

时间:2018-08-08 16:44:34

标签: jquery html css

我的“ div:随机数”内联样式具有以下div,因此我尝试使用大多数css更改功能,但没有运气..我的left属性是随机的,我想从左向右更改。

<div class="portfolio" style="left:0">Content</div>
<div class="portfolio" style="left:230">Content</div>
<div class="portfolio" style="left:446">Content</div>
<div class="portfolio" style="left:841">Content</div>

我希望jQuery将所有属性从左到右更改

我尝试过但是没用

$(".portfolio").css({"left": "", "right": ""});

也尝试过

$(".portfolio").css({"left", "right"});

有什么解决办法吗?

1 个答案:

答案 0 :(得分:2)

如果您想将left:0更改为right:0,将left:230更改为right:230(请注意:他们将需要单位,例如px) ,那么您需要读取原始值,然后写入新值并清除原始值。这将需要基于单个元素,因为left不同:

$(".portfolio").each(function() {
    var $this = $(this);
    var left = $this.css("left");
    $this.css({left: "", right: left});
});

实时示例(我已将单位添加到left值[px]中)

setTimeout(function() {
    $(".portfolio").each(function() {
        var $this = $(this);
        var left = $this.css("left");
        $this.css({left: "", right: left});
    });
    $("#header").text("After:");
}, 500);
.portfolio {
  position: absolute;
}
<div id="header">Before:</div>
<div class="portfolio" style="left:0px">Content</div>
<div class="portfolio" style="left:230px">Content</div>
<div class="portfolio" style="left:446px">Content</div>
<div class="portfolio" style="left:841px">Content</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>