Я хочу выбрать теги с элементами своего имени тега вокруг
<dt id="term-1">term 1</dt>
<dd>definition 1-a</dd>
<dd>definition 1-b</dd>
<dd>definition 1-c</dd>
<dd>definition 1-d</dd>
<dt id="term-2">term 2</dt>
<dd>definition 2-a</dd>
<dd>definition 2-b</dd>
<dd>definition 2-c</dd>
<dt id="term-3">term 3</dt>
<dd>definition 3-a</dd>
<dd>definition 3-b</dd>
Чтобы выбрать все <dd>
без первого элемента,
$("dd").nextUntil(":not(dd)")
Но если я хочу выбрать без ограничения только <dd>
, я хочу использовать
$(*).nextUntil(function () {
return ":not(" + this.tagName + ")";
})
Возвращаемое значение именно то, что я хочу, т.е. :not(DD)
. Но я не могу ничего выбрать в этом случае. Зачем?
Это потому, что функция nextUntil
принимает строку селектора, а не обработку анонимной функции. Вы должны указать селекторную строку вместо функции
Как насчет $('*:not(first-child)')
?
*
селектор (и :not()
без селектора класса / идентификатора / элемента) крайне неэффективен.
nextUntil
принимает функцию фильтра для проверенных элементов, а не функцию, которая возвращает селектор.