2

我有一个链接样式表,其中包含以下内容:

.dirContent {width: 190px, padding: 10px;)

我正在运行这个脚本:

var npad = $(".dirContent").css("padding");
alert(npad);

...但它不起作用 - 它返回一个空白警报框。现在如果我运行这个脚本:

var npad = $(".dirContent").css("width");
alert(npad);

它返回“190px”,警报显示正确的值。

想法?

4

3 回答 3

4

我看到的两个问题:

  • 格式错误的 CSS(在其他答案中介绍)
  • 对速记属性的不一致处理

本质上,检索速记属性在浏览器中的工作方式不一致。在 Chrome 中,查询“padding”属性会返回一个部分字符串(“1px”),如果所有 4 个边都被均匀填充,如果任何边的填充不同,则返回一个 4 部分(“1px 2px 3px 4px”)字符串.

但是 IE9 什么也没返回。Firefox 18 不返回任何内容。

var npad = $(".dirContent").css("padding");
alert(npad);
npad = $(".dirContent").css("padding-left");
alert(npad);

在几个浏览器中尝试此示例,您应该会看到不同之处:http: //jsfiddle.net/XDL3N/1/

如果你仔细想想,这种行为是有道理的。虽然速记对于设置属性非常有用,但对于获取它们却没有多大用处。您需要解析多段字符串才能对其进行任何有用的操作。

于 2013-02-02T18:58:28.267 回答
3

您正在使用 a,来终止 CSS 属性。

.dirContent {width: 190px; padding: 10px;}

这是小提琴

于 2013-02-02T18:52:40.873 回答
0

您的 css 属性格式错误,它必须是:

.dirContent {width: 190px; padding: 10px;}

工作小提琴:http: //jsfiddle.net/XDL3N/

于 2013-02-02T18:54:09.313 回答