是否有一种在jQuery中指定元素的通用方法。例如,使用$(this).find
或下一个函数。
我正在尝试创建一个按钮,复制时只会一次激活一个按钮。
复制按钮时复制输出。
参见示例。
<a href="#" class="vote-btn">button</a>
<p class="vote-number">+ 70,101</p> <a href="#" class="vote-btn">button</a>
<p class="vote-number">+ 70,101</p> <a href="#" class="vote-btn">button</a>
<p class="vote-number">+ 70,101</p>
$(".vote-number").hide();
$(".vote-btn").click(function () {
$(".vote-number").finish().show().fadeOut(5000);
});
答案 0 :(得分:2)
$(".vote-number").finish()
将定位具有类vote-number
的所有元素。相反,您只想定位按钮旁边的元素。因此,请使用$(this).next(".vote-number")
专门定位。
<强> JSFIDDLE DEMO 强>
$(".vote-btn").click(function(){
$(this).next(".vote-number").finish().show().fadeOut(5000);
});
答案 1 :(得分:1)
您可以使用.next()
,因为使用.vote-btn
只会针对相同的第一次出现,因此最好使用$(this).next(".vote-number')
定位到下一个<p>
的{{1}} {1}}
vote-number
答案 2 :(得分:1)
试试这个:
$(".vote-btn").click(function(){
$(this).next('.vote-number').finish().show().fadeOut(5000);
});
<强> Working Fiddle 强>
答案 3 :(得分:1)
$(".vote-number").hide();
$(document).on("click", ".vote-btn", function (e) {
$(this).prev(".vote-number").show().fadeOut(5000);
});