为什么jQuery在jSfiddle中工作但在站点上不工作?

时间:2013-12-02 22:46:53

标签: javascript jquery html css

我正在使用jQuery来改变div的高度,我之前使用的是静态值,但是现在我创建了一个使div达到其全高并将其返回到24px,现在效果很好在JSFiddle但不在网站上。

jQuery(".dsellactiontext").toggle(function(){
jQuery(this.parentNode).animate({
    height: $(this.parentNode)[0].scrollHeight+'px'
  }, 400);
},function(){
jQuery(this.parentNode).animate({height:24},600);
}); 

小提琴:http://jsfiddle.net/skoltyno/ZBR8G/

网站测试页:http://bocaratonrealestatemarket.com/jquery-test-page/

您可以在检查器中看到高度未切换为已满,但会将其切换为24px。

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

Wordpress runs jQuery中的

noConflict mode,表示$没有别名jQuery。这意味着您的$(this.parentNode)[0].scrollHeight+'px'会抛出错误(您可以在控制台中看到)。

尝试;

jQuery(this.parentNode)[0].scrollHeight+'px'

...或者,当你创建一个DOM元素的jQuery对象,然后立即访问DOM元素时,只需:

this.parentNode.scrollHeight+'px'

......应该足够了。