设置为变量时无法访问 DOM

Not able to access DOM when it is set as variable

我有一个问题:

这个有效:

$("#testView > td:nth-child(2) > i").click(function(){...

但这行不通:

var baseClick = $("#testView > td:nth-child(2) > i");
baseClick.click(function(){...

这是为什么?

问题是标签是动态生成的。 这个:

$("#testView > td:nth-child(2) > i");

将检索与该标签关联的 DOM 对象。因此,当您尝试将其缓存在变量中时:

var baseClick = $("#testView > td:nth-child(2) > i");

仍然不存在

事实是 $("#testView > td:nth-child(2) > i").click() 会起作用,因为它会搜索 i 标签 当被点击时 ,然后 DOM (和你动态生成的 i 标签)已经被加载。