jquery .css(“border-color”)不返回任何内容

时间:2012-03-28 21:32:09

标签: jquery css border

我写了以下jquery javascript东西

$(document).mousemove(function(event) {
    var element = event.target;
    $(element).css("border","black solid 1px");
});

$(document).mouseout(function(event) {
    var element = event.target;
    console.log( "1 = "$(element).css("border-color") )
    $(element).css("border","0px");
    console.log( "2 = " + $(element).css("border-color") )
});

它基本上围绕悬停元素绘制框架。在chrome中运行时,console.log( "1 = "$(element).css("border-color") )的输出是“”,即没有。 console.log( "2 = "$(element).css("border-color") )也是如此。但我期待黑色。我也试过了borderColor这也不起作用。

无论如何,当悬停元素时,正如我所料,在该元素周围绘制一个框架。那么为什么输出没有任何回报呢?

6 个答案:

答案 0 :(得分:19)

你不能使用简写为jquery。你必须更具体,例如“边框顶色”

如果有效,请告诉我。

答案 1 :(得分:11)

使用 jQuery(...)。css(“borderTopColor”)

此作品http://jsfiddle.net/JvTwp/

答案 2 :(得分:8)

$("#mytext").focus(function () {

  $(this).css({'background-color': '#FFFFCC'});

  $(this).css("border", "black solid 1px"); 

}).blur(function () {

  $(this).css({'background-color': '#fff'});
  $(this).css("border", "#DCDCDC solid 1px");

 });


<input type="text" id="mytext">

试试这个

http://jsfiddle.net/prabirchoudhury/kcnT8/

答案 3 :(得分:3)

在检查员的帮助下,您可以验证是否存在名为“border-color”的属性,您正在寻找'border- [top | bottom | left | right] -color'

答案 4 :(得分:0)

只要您使用JavaScript / jQuery设置颜色(因为我认为只有在CSS中设置它才会起作用)。我还没有弄清楚如何通过jQuery访问这些属性,但您仍然可以使用本机JavaScript访问边框属性。

console.log(this.style.borderTop); // should return '1px solid rgb(0, 0, 0)'
console.log(this.style.borderColor); // should return 'rgb(0, 0, 0)'

注意:
.borderTop | Right | Bottom | Left)似乎非常可靠,但是 .borderStyle | Color | Width)会产生混合结果。

我认为这取决于简写方面是否相同; e.g:

  • 所有方面的身份
  • 顶部和底部(相互之间)/左右(相互之间)
  • 顶部/左侧和右侧(相互之间)/底部
  • 所有四个设置不同似乎不起作用
  • 我一次只有element.style.border整个边框设置成功(即element.style.border = '1px solid #000'

答案 5 :(得分:0)

那是因为您没有边框,根据发布的代码片段,您只是根据事件创建了jQuery...。更好的方法是为.css文件中的元素定义边框,然后使用jQuery根据需要更改边框...

如果您不想为.css文件中的元素定义边框,请参见以下代码段:

请注意,.css(“ border-color”)无效,请改用camel-Case。例如:

$("element").css("borderColor", "1px solid black");