如下图,JS对ajax生成的复选框select的操作。

如下图,JS对ajax生成的复选框select的操作。为什么加了document才能获取到ajax生成的select的open值。

用JS在DOM树中动态插入的HTML节点,是后面添加上去的。
当第一次页面加载完成后,你写的这段JS就已经开始执行了。
执行时,它向你标注的节点添加事件绑定。
所以,如果是后面动态添加的节点,因为你的这段JS没有再次执行,是不会再去添加一次事件绑定了。
而当把事件绑定在document上时,因为DOM有向上冒泡(Bubble)的特性,所以document上绑定的事件能接收到后代元素上触发的事件,同时,由于document加载后一直存在,没有更改,所以上面绑定的事件不会丢失,所以就能触发事件处理器了。

你可以进一步了解一下“事件代理”。
温馨提示:答案为网友推荐,仅供参考