2013-03-28 82 views
11

在Internet Explorer中獲取單擊元素的邊框顏色時出現問題。使用.css()在IE中使用jQuery獲取邊框顏色

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

這裏的jsfiddle:http://jsfiddle.net/dS7mc/
它可以在Chrome,但它不能在IE10工作。

任何想法如何使它與兩個工作?也改爲「邊界」,在鉻它給我2px solid rgb(0, 0, 0)但即使我仍然得到空警報。

PS。是的,我嘗試過「borderColor」。也不能在IE

+1

@dystroy他說它給出了一個空警報 –

回答

5

試試這個..Works工作在IE8

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

enter image description here

jsFiddle

此外, 顏色由瀏覽器以不同的方式返回的FireFox ,Safari和Chrome將它們返回爲rgb()值,IE返回它們,就像您在中設置它們一樣即使您使用速記符號(#f00 VS #ff0000)和Opera總是返回顏色hexidecimal與6位

2

類似穆罕默德·阿迪爾:

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

必須符合規範每側

1

嘗試常規js

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

好吧,很抱歉地說,但即使在Chrome中我也會收到空警報。你可以嘗試設置jsfiddle。 – Kedor

+0

在鉻和螢火蟲本地工作,但不是在小提琴現在這是奇怪的 –

5

這是因爲在Internet Explorer中沒有border-color。該物業被重新命名爲border- POS - 顏色:

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

這同樣適用於border-widthborder-styleborder-left-width等)。爲了拉動邊框顏色(假設所有4是一樣的),你會使用:

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

同樣拉border-widthborder-style(再次假設所有4是相等的),你會使用:

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

你可以找到它的風格特性的元素與IE的F12開發人員工具

IE Dev Tools