Я хочу применить тот же плагин к двум элементам в добавленном div
<div class="main">
<div class="profile"><a href="#">John</a></div>
<div class="msg">aaaaaa</div>
<div class="comment">
<div class="profilec"><a href="#">Jane</a></div>
</div>
</div>
Я предварительно наложил вышеуказанный раздел на щелчок кнопки
Теперь, как я могу это сделать?
$("#main").prepend(html);
var first= $("#main .main:first").find('.profile').find('a');
var second=$("#main .main:first").find('.comment').find('.profilec').find('a');
$(first,second).myPlugin();
Я пробовал это, но он не работает
Измененная форма вашего кода. См. Здесь действительные селекторы.
$("#main").prepend(html);
var first= $("#main .main:first").find('.profile').find('a');
var second=$("#main .main:first").find('.comment').find('.profilec').find('a');
first.myPlugin();
second.myPlugin();
ИЛИ
$(".main .profile a").add($(".main .profile a")).myPlugin();
Вы используете $(selector, context)
который просто терпит неудачу здесь, вы можете передать массив элементов в jQuery:
$( [first, second] ).myPlugin();
Или используйте .add()
:
first.add(second).myPlugin();
И я бы сделал:
$('#main .main:first a').bar();
Или, может быть:
$(html).appendTo('#main').find('a').foo();
Не будет использовать только селекторов?
$(".main .profile a, .main .comment .profilec a").myPlugin()
Вам может не понадобиться find()
вообще...
Или, если это все разметка внутри .main
, просто используя
$(".main a").myPlugin()
сделал бы трюк
#main
в вашем DOM?