Есть ли общий способ указать элементы в jquery

0

Есть ли общий способ указания элементов в jQuery. Например, используя функцию $(this).find или next.

Я пытаюсь создать кнопку, которая при копировании будет только активировать по одному.

В тот момент, когда кнопка дублируется, вывод копируется.

См. Пример.

http://jsfiddle.net/X8AYd/12/

<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);
});
  • 4
    "For example using the $(this).find or next function." ... черт возьми, ты не пробуй их и посмотри, что происходит !!!
  • 0
    Спасибо за помощь ребята. Я пытаюсь изменить HTML, но теперь он не работает. Вы можете помочь jsfiddle.net/X8AYd/18
Показать ещё 1 комментарий
Теги:

4 ответа

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

$(".vote-number").finish() будет нацеливаться на все элементы с vote-number класса. Вместо этого вы хотите настроить таргетинг только на элемент рядом с кнопкой. Итак, используйте $(this).next(".vote-number") для таргетинга.

JSFIDDLE DEMO

$(".vote-btn").click(function(){
    $(this).next(".vote-number").finish().show().fadeOut(5000);
});
  • 0
    Привет, спасибо за вашу помощь. Я пытаюсь изменить HTML, но теперь он не работает. Вы можете помочь jsfiddle.net/X8AYd/18
  • 0
    @ user2965875 вы отменили заказ. Поэтому вместо next() используйте prev() . jsfiddle.net/X8AYd/19
1
$(".vote-number").hide();

$(document).on("click", ".vote-btn", function (e) {
    $(this).prev(".vote-number").show().fadeOut(5000);
});

Рабочий скрипт

1

Вы можете использовать с .next() поскольку использование .vote-btn будет .vote-btn только на первое появление того же самого, поэтому лучше использовать $(this).next(".vote-number') который нацелен на следующий <p> с классный vote-number

$(".vote-btn").click(function(){
    $(this).next(".vote-number").finish().show().fadeOut(5000);
});

Пример скрипки

1

Попробуй это:

$(".vote-btn").click(function(){
  $(this).next('.vote-number').finish().show().fadeOut(5000);
});

Рабочий скрипт

Ещё вопросы

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