Выбор двух дивов для применения плагина

0

Я хочу применить тот же плагин к двум элементам в добавленном 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();

Я пробовал это, но он не работает

  • 0
    есть #main в вашем DOM?
Теги:

3 ответа

1
Лучший ответ

Измененная форма вашего кода. См. Здесь действительные селекторы.

$("#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();
1

Вы используете $(selector, context) который просто терпит неудачу здесь, вы можете передать массив элементов в jQuery:

$( [first, second] ).myPlugin();

Или используйте .add():

first.add(second).myPlugin();

И я бы сделал:

$('#main .main:first a').bar();

Или, может быть:

$(html).appendTo('#main').find('a').foo();
1

Не будет использовать только селекторов?

$(".main .profile a, .main .comment .profilec a").myPlugin()

Вам может не понадобиться find() вообще...

Или, если это все разметка внутри .main, просто используя

$(".main a").myPlugin() 

сделал бы трюк

Ещё вопросы

Сообщество Overcoder
Наверх
Меню