我需要根据内容的高度设置左侧边栏的高度。这是我得到的错误
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
答案 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,因为它未包含在页面中或与另一个自由冲突。