为什么jQuery可以在jSfiddle中工作,但不能在站点中工作

Why does jQuery work in jSfiddle but not site?

本文关键字:工作 但不能 站点 jSfiddle jQuery 为什么      更新时间:2024-01-23

我正在使用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。

这是怎么回事?

Wordpress在noConflict模式下运行jQuery,这意味着$jQuery没有别名。这意味着您的$(this.parentNode)[0].scrollHeight+'px'抛出一个错误(您可以在控制台中看到)。

尝试;

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

或者,在创建DOM元素的jQuery对象时,立即访问DOM元素,只需:

this.parentNode.scrollHeight+'px'

应该足够了。

相关文章: