为什么左侧边栏高度不变?

时间:2012-10-22 17:37:01

标签: javascript jquery css wordpress

我需要根据内容的高度设置左侧边栏的高度。这是我得到的错误

  

sidebarheight.js:1未捕获TypeError:对象#没有   方法'准备好'

我已经加载了jquery,并且基本上只有几行js:

$(document).ready(function() {
    $("#left").css({'height':($("#right").height()+'px')});
});

基本的html结构

<div id="left">sidebar content</div>
<div id="right">page content</div>

请在此处查看工作副本:http://keganquimby.com/122sk

3 个答案:

答案 0 :(得分:3)

如果您使用jQuery而不是$来尝试此代码,则可以使用:

jQuery("#left").css({'height':jQuery("#right").height()+'px'});

嗯,至少,在你提供的网址上,如果你对这个代码边栏高度有所了解,如果它们不相等则似乎会改变。

答案 1 :(得分:2)

您的网站上有原型,并且还使用$

尝试:

jQuery(document).ready(function($) { // This way you have no conflict with the $. In here $ refers to jQuery. All other places $ refers to document.getElementById (From prototype)
    $("#left").css({'height':($("#right").height()+'px')});
});

所以最近发生的事情是:

$(document) -> document.getElementById(document)* -> null
->
null.ready -> "sidebarheight.js:1 Uncaught TypeError: Object # has no method 'ready'"
  

*认为$(...)返回原型GLOBAL.Element集合

null是对象?

  

alert(typeof null); // object

和.....

jQuery(document).ready(...可以缩短jQuery(...

jQuery(function($) { // This way you have no conflict with the $. In here $ refers to jQuery all other places et's refers to document.getElementById (From prototype)
    $("#left").css({'height':($("#right").height()+'px')});
});

答案 2 :(得分:1)

你的脚本引用有问题,检查出来,导致在浏览器的控制台中我无法调用函数的jquery方法,在控制台中尝试这个并且会出错:

var div = $('<div></div>')
undefined
div.fadeIn()
TypeError: Cannot call method 'fadeIn' of null

$未引用jQuery ether,因为它未包含在页面中或与另一个自由冲突。