Как получить доступ к исходному элементу из оболочки jQuery - PullRequest
16 голосов
/ 08 июля 2011

Если у меня есть это:

var wrap = $("#someId");

Мне нужен доступ к исходному объекту, который я получу по

var orig = document.getElementById("someId");

Но я не хочу делать document.getElementById.

Есть ли что-то, что я могу использовать на wrap, чтобы получить это? что-то вроде:

var orig = wrap.original();

Я искал все выше и ниже, но ничего не нашел; или, может быть, я не ищу нужную вещь.

Ответы [ 5 ]

25 голосов
/ 08 июля 2011

Функция для этого get. Вы можете передать индекс в get для доступа к элементу по этому индексу, поэтому wrap.get(0) получает первый элемент (обратите внимание, что индекс основан на 0, как массив). Вы также можете использовать отрицательный индекс, поэтому wrap.get(-2) получает последний элемент в выборке.

wrap.get(0);  // get the first element
wrap.get(1);  // get the second element
wrap.get(6);  // get the seventh element
wrap.get(-1); // get the last element
wrap.get(-4); // get the element four from the end

Вы также можете использовать массивоподобный синтаксис для доступа к элементам, например, wrap[0]. Однако для этого вы можете использовать только положительные индексы.

wrap[0];      // get the first element
wrap[1];      // get the second element
wrap[6];      // get the seventh element
4 голосов
/ 08 июля 2011

$("#someId") вернет объект jQuery, поэтому, чтобы получить фактический HTML-элемент, вы можете сделать:

wrap[0] или wrap.get(0).

2 голосов
/ 08 июля 2011

Вы можете использовать get () для извлечения HTML-элемента.

var orig = wrap.get(0);

Однако, если wrap состоит из нескольких элементов, вам необходимо знать правильный индекс, который будет использоваться при использовании функции get().

1 голос
/ 08 июля 2011

Насколько я знаю, вы можете просто использовать var orig = wrap[0];, если существует более одного элемента. Если есть только один, вы можете просто использовать wrap без $() вокруг него.

0 голосов
/ 08 июля 2011

Вы можете использовать обтекание по-прежнему. Обтекание такое же, как в оригинале 'orig'!:)

Если вы действительно хотите:

var orig = wrap;
...