使用.live()和jQuery的addClass

时间:2009-11-04 18:28:18

标签: jquery callback live onload addclass

我目前正在使用.load()函数动态地将内容加载到容器div中。正在加载的内容是表格数据,我想斑马条纹。斑马条纹在静态页面上很容易,但是我无法弄清楚如何斑马纹条纹加载到容器div中的新内容。

以下是我正在尝试使用的代码:

$("table tbody tr:even").live("EVENT", function(){
  $(this).addClass("alt");
});

“EVENT”不应该是"click",或"mouseover",而是“onload”或其他相似之处。有没有办法做到这一点?谢谢你的建议!

〜贾里德

4 个答案:

答案 0 :(得分:7)

您应该在load()的回调函数中运行斑马条纹代码。

$("#myDiv").load( "/somecontroller/someaction", { data: value }, function() {
    $("#myDiv").find( "table tbody tr:even" ).addClass( "alt" );
});

答案 1 :(得分:0)

作为tvanfosson答案的延伸(在这种情况下,这是你最好的选择),live()函数目前仅支持某些事件。这来自http://api.jquery.com/的文档:

  

可能的事件值:click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup

     

目前不支持:模糊,焦点,鼠标中心,鼠标移动,更改,提交

答案 2 :(得分:0)

要动态地向表中添加数据,您必须使用其他代码。不是吗? 在该函数内部,将数据加载到表后,将css类添加到行。 在该函数中使用以下方法,

$("table tbody tr:even").removeClass("alt").addClass("alt");

答案 3 :(得分:-1)

我这样做是用jquery 1.4.2

来触发事件

$(“body”)。live(“mousemove”,function(){$(“。zebra tr:nth-​​child(even)”)。addClass(“alt”);});