Подтвердить что ты не робот

Получить цвет границы с jQuery в IE с помощью .css()

Возникает проблема с получением цвета рамки элемента clicked в Internet Explorer.

$("#clickme").click(function() {
    alert($(this).css('border-color'));
});

Вот jsfiddle: http://jsfiddle.net/dS7mc/
Он работает в chrome, но он не работает в IE10.

Любые идеи, как заставить его работать с обоими? Кроме того, меняя только на "границу", в хром это дает мне 2px solid rgb(0, 0, 0), но в то же время я все равно получаю пустое предупреждение.

PS. Да, я пробовал "borderColor". Также не работает в IE

4b9b3361

Ответ 1

Попробуйте это. Работы по IE8

$("#clickme").click(function() {
    $('body').append($(this).css('border-top-color'));
});

enter image description here

jsFiddle

Кроме того, Цвета возвращаются браузерами по-другому. FireFox, Safari и Chrome возвращают их как значения rgb(), а IE возвращает их точно так же, как вы их установили в своем CSS, даже если вы используете сокращенную нотацию (#f00 vs #ff0000), и Opera всегда возвращает цвет как hexidecimal с 6 цифрами

Ответ 2

Это связано с тем, что в Internet Explorer нет border-color. Свойство переименовывается в border-pos-color:

border-top-color: #000000;
border-right-color: #000000;
border-bottom-color: #000000;
border-left-color: #000000;

То же самое относится к border-width и border-style (border-left-width и т.д.). Чтобы потянуть цвет границы (при условии, что все 4 одинаковы), вы должны использовать:

$(this).css('border-top-color');

В равной степени, чтобы вытащить border-width или border-style (опять же, если все 4 равны), вы должны использовать:

$(this).css('border-top-width');
$(this).css('border-top-style');

Вы можете найти, какие свойства стиля есть у элемента с инструментами разработчика IE F12:

IE Dev Tools

Ответ 3

похож на Мохаммада Адиля:

$("#clickme").click(function() {
    var Bcolor = $(this).css("border-left-color");
    alert(Bcolor);
});

вам нужно специфицировать каждую сторону

Ответ 4

попробуйте регулярные js

var clickme = $("#clickme")[0];
    clickme.addEventListener('click', function() {
    alert(clickme.style.borderColor)
    }, false)