.live不是函数错误

时间:2012-01-27 22:43:42

标签: jquery

我正在使用一些jquery来加载页面时隐藏列表元素。当代码是静态的时,它工作正常,但是列表元素是通过php动态生成的,并且在加载页面时并不是全部可用。我试图将.hide附加到load事件,但得到错误,

  

$('li.views-row')。live不是函数。

代码全部在http://jsfiddle.net/Ypqyv/,但是因为当你点击Run时已经存在html,你看不到错误。 (不,我无法发布到实际站点的链接;它位于防火墙后面的开发服务器上。)

有什么想法吗?我在这里已经阅读了大量关于.live()问题的答案,但它们似乎都不适用于我的情况。

ETA:使用jquery 1.6。

2 个答案:

答案 0 :(得分:0)

我不确定您收到错误.live is not a function error的原因,但是,.live无论如何都不会在这种情况下发挥作用。

<li>个元素在创建时不会触发onload,因此$("li").live("load",handler)永远不会被触发。 http://w3schools.com/jsref/event_onload.asp

相反,您应该在将其添加到页面的代码之后立即操作列表项。

$.ajax({
  url: "...",
  data: "...",
  type: "...",
  success: function(data){
    $("<li>"+data+"</li>").hide().appendTo("#myul");
  }
});

答案 1 :(得分:0)

检查您正在使用的JQuery版本,.live()仅适用于版本1.3 - 1.8(不推荐使用1.8)我相信并已从版本1.9中删除