Jquery 使用.append()单击事件有效,但使用.after()失败
这件事很有道理。你知道为什么会这样吗Jquery 使用.append()单击事件有效,但使用.after()失败,jquery,Jquery,这件事很有道理。你知道为什么会这样吗 $('.myclass div').append(' <a ">HELLO WORLD</a>').click(this.function); $('.myclass div')。追加('HELLO WORLD')。单击(this.function); 谢谢 在这两种情况下,您都将处理程序添加到最初选择的div。由于事件冒泡,即使处理程序位于的父级,第一个事件仍然可以工作 如果要在div之后添加a元素,则需要直接绑定到a 您可以使
$('.myclass div').append(' <a ">HELLO WORLD</a>').click(this.function);
$('.myclass div')。追加('HELLO WORLD')。单击(this.function);
谢谢 在这两种情况下,您都将处理程序添加到最初选择的
div
。由于事件冒泡,即使处理程序位于
的父级,第一个事件仍然可以工作
如果要在div
之后添加a
元素,则需要直接绑定到a
您可以使用.insertAfter()
来完成此操作
$('<a>HELLO WORLD</a>').insertAfter('.myclass div').click(this.function);
$('HELLO WORLD').insertAfter('.myclass div')。单击(this.function);
在这两种情况下,您都将处理程序添加到最初选择的div
。由于事件冒泡,即使处理程序位于
的父级,第一个事件仍然可以工作
如果要在div
之后添加a
元素,则需要直接绑定到a
您可以使用.insertAfter()
来完成此操作
$('<a>HELLO WORLD</a>').insertAfter('.myclass div').click(this.function);
$('HELLO WORLD').insertAfter('.myclass div')。单击(this.function);
以防万一,这里是.after()
和.insertAfter()
之间的区别:您也可以使用end()
像$('.myclass div')。after('@elclars:有点。如果您在那里使用.end()
,您仍然在使用$('.myclass div')中的原始jQuery对象
,因此看起来好像.end()
提供了上下文,在本例中是HTMLDocument
,因此这就是单击处理程序的原因。以防万一,这里是.after()
和.insertAfter()
之间的区别:您也可以像$('.myclass div')一样使用end()
('@elclars:Sort.如果您在那里使用.end()
,您仍然在使用$('.myclass div')
中的原始jQuery对象,因此它看起来好像.end()
为您提供了上下文,在本例中是HTMLDocument
,因此这就是单击处理程序的内容。