使用.append()的Click事件有效,但使用.after()失败

Riv*_*ver 1 jquery

相当绿色.任何想法为什么这样做:

$('.myclass div').append(' <a ">HELLO WORLD</a>').click(this.function);
Run Code Online (Sandbox Code Playgroud)

这不是:

$('.myclass div').after(' <a ">HELLO WORLD</a>').click(this.function);
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 5

在这两种情况下,您都将处理程序添加到div最初选择的处理程序中.因为事件泡沫,第一个仍然会工作甚至强硬的处理程序是在父的<a>.

如果你想要a后面的元素div,你需要直接绑定到a.

你可以用它.insertAfter()来完成这个......

$('<a>HELLO WORLD</a>').insertAfter('.myclass div').click(this.function);
Run Code Online (Sandbox Code Playgroud)