将其设置为变量时无法访问DOM

时间:2015-11-19 00:00:22

标签: jquery dom click

我遇到了问题:

这有效:

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

但这不起作用:

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

为什么?

1 个答案:

答案 0 :(得分:1)

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

$("#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 标记)。