jQuery.css()不返回设置为红色的边框颜色
CSS:.divIm { border:1px solid red; }
和代码行var borderColor = $(this).css("border-color")
返回""
。哪里不对?或者如果我使用jQuery,试图获得计算风格是否正确?jQuery.css()不返回设置为红色的边框颜色
更新: 下面是不希望按预期工作的代码。
$("div.divIm").mouseover(function() {
var borderColor = $(this).css("border-color");
debugger;
});
由于四个边框中的每一个都可以具有不同的颜色,因此.css('border-color')
无法工作,返回哪种颜色(即使它们完全相同)。
在大多数的情况下,所有边框的颜色是一样的,所以你可以做这样的:
$('div.divIm').mouseover(function() {
var borderColor = $(this).css('border-left-color');
debugger;
});
所以,你得到的左边框的颜色和应该是够了你需要。
var borderColor = $(this).css("border-color")
你需要表现出比这个多。但如果这是你所有的问题,那么this
没有定义。
var borderColor = $('.divIm').css("border-color");
将是你所需要的。
$( “div.divIm”)鼠标悬停(函数(){ VAR BORDERCOLOR = $( “divIm。 ”)的CSS(“ 边框颜色”);。 调试器; })。 我刚刚按照您的建议尝试过,但问题没有解决。 $(this)返回一个正确的对象。可能有另一种方式... – despero 2010-08-21 20:44:11
在这种情况下,你可以在函数内部使用它。尝试使用borderColor而不是边框颜色,因为Gert建议使用 – Galen 2010-08-21 20:53:31
它没有帮助。戴夫给出了正确的答案。 – despero 2010-08-21 20:58:34
您可以使用curStyles jQuery Plugin获得包含多个计算样式的计算样式。
感谢您的回答;使用插件似乎对于这个问题来说太重了。虽然你可能是对的。 – despero 2010-08-21 20:47:17
如果未在元素上设置所请求的样式属性,jQuery将返回计算样式。它使用* $。curCSS(elem,style,force)*,这是一个未记录的方法。 – 2010-08-21 20:54:44
感谢您的建议,它有帮助! – despero 2010-08-21 20:51:28