Как я могу выбрать выбранный элемент И последующий элемент — Jquery

#jquery #jquery-selectors

#jquery #jquery-селекторы

Вопрос:

как я могу выбрать элемент, на который только что нажали, И последующий элемент, используя Jquery… На данный момент, всякий раз, когда я пытаюсь использовать атрибут ‘this’ рядом с другим селектором, он перестает работать…

HTML

 <a href="#" class="refLink">9</a>
<span class="refPanelFloating">Blah blah blah</span>
  

Пробовал Jquery

 $('a.refLink').click(function () {
    $(this,'span.refPanelFloating').wrapAll('<span class="refWrap" />');
});
  

Желаемый результат

 <span class="refWrap">    
    <a href="#" class="refLink">9</a>
    <span class="refPanelFloating">Blah blah blah</span>
</span>
  

На данный момент я могу заставить его работать, только выбрав начальный тег ‘a.refLink’… но на последней странице их будет много…

Спасибо

Ответ №1:

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

 $('a.refLink').click(function () {
    $(this).next().andSelf().wrapAll('<span class="refWrap" />');
});
  

Смотрите http://jsfiddle.net/alnitak/M8weS /

Ключ — это .andSelf() функция, которая объединяет результат двух предыдущих последовательных вызовов в один список.

Комментарии:

1. Это работает замечательно. Спасибо Alnitak … хотя и из интереса… Каков формат для перечисления «этого» и другого именованного элемента … (this,’span.nameded) или (‘(this),span.named’) или…

2. Я не думаю, что существует формат — вы можете сделать «sela selb», который является селектором, который соответствует «sela», за которым следует «selb», но это не сработает, если все, что у вас есть для «sela», это «это».

3. Хммм… Буду продолжать попытки. Большое спасибо за ваше время.

4. задайте это как новый вопрос, здесь недостаточно ясно, о чем вы просите, поскольку ответ будет зависеть от структуры HTML.