jQuery无法获得任何div css属性?

时间:2011-10-23 01:10:44

标签: javascript jquery css html

所以我试图熟悉jQuery,所以我一直在运行一些测试代码,但它看起来像jQuery的.css有一些问题?我花了最后3个小时尝试不同的东西......不去。我将div设置为Content Content,然后运行页面并调整其大小以触发该功能。

.Content {
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  padding-top-width:1px;
  padding: 1px;
};

  <div id="wrapper" class="fullscreen">
     <div id="divContainer" class="Container">
        <div id="divContent" class="Content"> Content </div>
        <div id="divQuery" class="Query"> Query </div>
     </div>
  </div>

$(window).resize(function() {
  var container = $('#divContainer');
  var content   = $('#divContent');
  console.log(content.css('border-left-width'));
  console.log(content.css('padding-top-width'));
  //content.width(container.width()*.6-content.attr('padding'));
});

从控制台,我得到以下内容:

 0px
 (an empty string)

我做错了什么?

2 个答案:

答案 0 :(得分:4)

这里有两个问题:

  1. padding-top-width应为padding-top

  2. 除非您有border-top-width(例如“固定”),否则
  3. border-style将无效 - 否则会被假定为“无”,即没有边框,而您的{{1}声明没有效果。

  4. 有关工作示例,请参阅http://jsfiddle.net/nrabinowitz/D2e4N/5/

答案 1 :(得分:1)

Hyphinated css属性是JavaScript中的camelCase。

所以它是borderLeftWidth和paddingLeftWidth。这是因为 - 在JS中用作减法符号。在非jQuery JS中使用this.style.paddingLeftWidth,因为this.style.padding-left-width意味着从left

减去widththis.style.padding

所以试试:

console.log(content.css('borderLeftWidth'));