2012-02-15 2 views

ответ

5

В обоих случаях вы добавляете обработчик к div, который был первоначально выбран. Поскольку пузырь событий, первый из них по-прежнему будет работать даже жестко, обработчик находится у родителя <a>.

Если вы хотите элемент a после div, вам необходимо напрямую связать его с a.

Вы можете использовать .insertAfter() вместо того, чтобы сделать это ...

$('<a>HELLO WORLD</a>').insertAfter('.myclass div').click(this.function); 
+1

+1. Слишком быстро для меня ... – nnnnnn

+1

На всякий случай, вот разница между '.after()' и '.insertAfter()': http://stackoverflow.com/questions/1908229/jquery-whats-the-difference- между-after-and-insertafter – JSuar

+0

Вы также можете использовать 'end()' like '$ ('. myclass div'). after ('HELLO WORLD') .end(). click (this.function);' – elclanrs