Используя Javascript, как я могу проверить, какое левое значение CSS больше всего в группе div?

0

Я хочу знать, какой из этих трех элементов имеет наибольшее левое значение. Это то, что у меня есть, это правильно?

    var leftOne = document.getElementById('one').css.left;
    var leftTwo = document.getElementById('two').css.left;
    var leftThree = document.getElementById('three').css.left;
    var max123 = Math.max(leftThree, leftTwo, leftOne);
  • 0
    Будут ли все div иметь один и тот же класс / быть потомком какого-то элемента, который может быть выбран

3 ответа

0
Лучший ответ

Джозеф Мечтатель прав, это style.left. Но вам также нужно преобразовать эти цифры в целые числа для функции Max. Это мой код, который отлично работал:

Javascript:

function test() {
    var leftOne = document.getElementById('one').style.left;
    var leftTwo = document.getElementById('two').style.left;
    var leftThree = document.getElementById('three').style.left;
    var max123 = Math.max(parseInt(leftThree), parseInt(leftTwo), parseInt(leftOne));
    alert(max123);
    return false;
}

HTML:

<div id="one" style="left:30px">aaaaa</div>
<div id="two" style="left:22px">bbbbb</div>
<div id="three" style="left:34px">ccccc</div>
<a href="#" onclick="test()">test</a>

Результат: 34

2

Разве это не должно быть style вместо css?

document.getElementById('ID_HERE').style.left
0

Использование jQuery, если все div могут быть выбраны с помощью некоторого селектора (для этого он использует класс maxleft)

var maxleft = 0;
$('.maxleft').css("left", function(idx, left) {
    maxleft = Math.max(maxleft, left); 
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню