改变各种元素的样式.左边和上面用脚本

Change various elements style.left and top with script?

本文关键字:脚本 左边 样式 元素 改变      更新时间:2023-09-26

我有这样一个循环,它产生了许多不同位置的元素:

if ( $row['Type'] == "house") { ?>
    <div class="itemW" style="margin-left: <?=$row['X']?>px; margin-top: <?=$row['Y']?>px;">
    Item
   </div> <? 
}       

我需要改变所有div的左侧位置,我正在尝试:

 var items = document.getElementsByClassName("itemW");
 items[0].style.left = land.width() / items[0].style.left * 100;

问题是items[0].style.left没有得到第一个div的位置。我也不知道如何与所有的div。

您可以使用

获取具有特定类名的所有元素
document.getElementsByClassName("classname");

,除了IE <至少:P xmlns:至少="#unknown">

然后就像这样循环了

var meh = document.getElementsByClassName("classname");
for (var i = 0; i < meh.length; i++)
    meh[i].style.left = land.width() / items[0].style.left * 100 + "px"; // "px" is very important.
                                                                         // also this will only work
                                                                         // if you have first set the
                                                                         // element's style attribute.

尝试使用jQuery:

$('.itemW').each(function () {
    var item = $(this);
    var pos = item.position();
    item.css('left', (item.width() / pos.left * 100) + 'px');
    item.css('top', (item.height() / pos.top * 100) + 'px');
});