Как я могу получить ширину / цвет границы div в javascript? - PullRequest
3 голосов
/ 05 мая 2011

Я бы хотел определить, есть ли у div граница.Если так, я хотел бы изменить цвет границы на серый.Вот мой код, но он не работает.

var ele = document.get...;
if(ele.style.borderColor)
{
   ele.style.borderColor='666666';
}

ele.style.borderColor всегда равно нулю.Кстати, я не могу использовать JQuery здесь.Может ли кто-нибудь помочь?

Ответы [ 4 ]

4 голосов
/ 05 мая 2011
var ele = document.getElementById('a'),
    style = window.getComputedStyle(ele, null),
    sides = ['top', 'right', 'bottom', 'left'],
    maxBorder = 0;

for (var i = 0, length = sides.length; i < length; i++) {
    maxBorder = Math.max(maxBorder, parseInt(style.getPropertyValue('border-' + sides[i] + '-width')));
}

if (maxBorder) {
    ele.style.borderColor = '#666666';
}

jsFiddle .

1 голос
/ 21 февраля 2012

Ошибка, которую вы сделали, заключается в том, что вы не указали знак '#' перед шестнадцатеричным цветным кодом
Так что вам придется внести небольшое изменение: ele.style.borderColor='#666666';

1 голос
/ 05 мая 2011

Вы можете просто установить цвет границы и не пытаться читать какие-либо свойства.

Если элемент имеет нет границы, установка цвета не будет иметь никакого эффекта.

0 голосов
/ 05 мая 2011

Я думаю, что вы получаете ноль, потому что пропускаете дефис в середине свойства. «Граница цвета»

Поскольку здесь вы не можете использовать jquery, я бы посмотрел на все свойства границы CSS, чтобы определить, имеет ли он такие границы, как стиль границы, ширина границы и цвет границы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...