首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery css高度设置未正常运行

jquery css高度设置未正常运行
EN

Stack Overflow用户
提问于 2010-09-20 12:15:32
回答 4查看 24K关注 0票数 2

我正在尝试使用一些jQuery将我的产品和目录页(带有一个.columns类)的左列和右列设置为我的#detail <div>的高度,它有一些从SQL数据库中提取的数据。

因此,我使用以下jQuery代码:

代码语言:javascript
复制
$(document).ready(function() {

  detailHeight = $('#detail').css('height');
  columnHeight = detailHeight + 10;

  $('.columns').css('height', columnHeight 'px');

});

我的页面在这里:http://www.marioplanet.com/product.asp?IDnum=1

由于某些原因,高度不能正确地显示出来..

有什么想法可以解释原因吗?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2010-09-20 12:17:52

你这里有一个打字错误:

代码语言:javascript
复制
$('.columns').css('height', columnHeight 'px');

缺少+

代码语言:javascript
复制
$('.columns').css('height', columnHeight + 'px');

但是,正如其他人指出的那样,使用css()函数访问元素的高度对于您的代码来说是错误的,因为它返回的是一个在数值后带有CSS单位的字符串。因此,您实际上并不是在添加数字,而是在连接字符串。这就是你的代码不能工作的原因。

要修复您的代码,可以使用jQuery的便捷方法height()来获取元素的高度并将其设置为数值。只需在设置时将您的数字作为参数进行传递:

代码语言:javascript
复制
  detailHeight = $('#detail').height();
  columnHeight = detailHeight + 10;

  $('.columns').height(columnHeight);
票数 8
EN

Stack Overflow用户

发布于 2010-09-20 12:19:32

你有没有试过.height()或者.attr("height")

票数 1
EN

Stack Overflow用户

发布于 2010-09-20 12:20:59

代码语言:javascript
复制
$(document).ready(function() {

  detailHeight = $('#detail').css('height'); // would return something like 25px...
  columnHeight = detailHeight + 10; // 25px + 10 == ??

  $('.columns').css('height', columnHeight + 'px'); // ===>> .css('height', '25px10' + 'px');

});

建议,

代码语言:javascript
复制
$(document).ready(function() {

  detailHeight = $('#detail').height(); // use .height()
  columnHeight = detailHeight + 10; 

  $('.columns').css('height', columnHeight + 'px');

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3748683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档