#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.