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