选择两个div来应用插件

时间:2013-11-29 19:38:38

标签: jquery

我想将相同的插件应用于附加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();

我尝试了这个,但它无法正常工作

3 个答案:

答案 0 :(得分:1)

不会只使用选择器吗?

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

您可能根本不需要find() ...

或者,如果这是.main内的所有标记,只需使用

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

会做的伎俩

答案 1 :(得分:1)

修改后的代码形式,有关有效选择器的信息,请参阅here

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

OR

$(".main .profile a").add($(".main .profile a")).myPlugin();

答案 2 :(得分:1)

你正在使用$(selector, context),这里只是失败了,你可以将一个元素数组传递给jQuery:

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

或使用.add()方法:

first.add(second).myPlugin();

我会这样做:

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

或者也许:

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