13

在 Internet Explorer 中获取单击元素的边框颜色时出现问题。

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

这是 jsfiddle: http: //jsfiddle.net/dS7mc/
它适用于 chrome,但不适用于 IE10。

任何想法如何使它与两者一起工作?也仅更改为“边框”,在 chrome 中它给了我2px solid rgb(0, 0, 0),但在即我仍然得到空警报。

PS。是的,我试过“borderColor”。在 IE 中也不起作用

4

4 回答 4

7

这是因为在 Internet Explorer 中没有border-color. 该属性被重命名为border- pos - color:

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

这同样适用于border-widthborder-style(border-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 开发工具

于 2013-03-28T20:53:59.120 回答
5

试试这个..适用于 IE8

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

在此处输入图像描述

jsFiddle

此外,浏览器以不同的方式返回颜色 FireFox、Safari 和 Chrome 将它们作为rgb()IE返回,并完全按照您在您中设置的方式返回它们,CSS即使您使用速记符号 ( #f00vs #ff0000) 并且 Opera 始终hexidecimal以 6 位返回颜色

于 2013-03-28T20:47:45.360 回答
2

类似于穆罕默德·阿迪尔:

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

你必须指定每一面

于 2013-03-28T20:50:31.347 回答
1

试试普通的js

var clickme = $("#clickme")[0];
    clickme.addEventListener('click', function() {
    alert(clickme.style.borderColor)
    }, false)
于 2013-03-28T20:50:39.480 回答