1

我需要对具有特定类名的元素进行更改。在我正在处理的网页的代码中找不到该元素。但是,它出现在页面上。当我尝试使用内部 css 进行样式更改时,它可以工作,但我无法单独使用 css 完成我想要完成的任务。因此,当我尝试使用 jquery css 对该类进行更改时,我无法修改该元素。关于为什么内联 css 有效但 jquery css 无效的任何想法?

我的 CSS 代码(这有效):

.jqZoomWindow{
    border:2px solid red;
}

jQuery 代码

$(".jqZoomWindow").css("border","2px solid red");
4

5 回答 5

1

这听起来像是一个 CSS 特异性问题。

创建的内联规则.css(..)总是优先于样式表规则。

您是否有其他一些影响边框的 CSS 样式比 更具体.jqZoomWindow

于 2012-05-18T13:56:55.297 回答
1

在我正在处理的网页的代码中找不到该元素。但是,它出现在页面上。

如果您在页面上存在元素之前运行那一点 jQuery,那么它不会做任何事情。.css()仅使用 style 属性将 css 添加到元素中。

于 2012-05-18T13:58:06.263 回答
0

试试这个。

$(".jqZoomWindow").css({ 
     borderWidth: "2px", 
     borderStyle: "solid", 
     borderColor: "red"
});
于 2012-05-18T13:57:52.873 回答
0

问题是,在这两个 CSS 中,您都应用了相同的边框、颜色和像素。这就是为什么您无法看到差异的原因。

它按预期工作。参考这个DEMO另一个 DEMO

于 2012-05-18T14:00:51.470 回答
0

为什么不在 CSS 文件中创建一个新类,然后在需要时使用 .addClass() 添加它?您可以在 HTML 中手动添加类来测试它,如果它仍然不起作用,那肯定会缩小问题的范围。

更多信息:http ://api.jquery.com/addClass/

如果您必须使用 .css(),您是否尝试过使用任何其他类型的属性,例如颜色、字体粗细?

于 2012-05-18T14:13:49.843 回答