Как получить доступ к исходному элементу из обертки jQuery
Предполагая, что у меня это:
var wrap = $("#someId");
Мне нужно получить доступ к исходному объекту, который я получил бы через
var orig = document.getElementById("someId");
Но я не хочу делать document.getElementById
.
Есть ли что-то, что я могу использовать на wrap
, чтобы получить его? что-то вроде:
var orig = wrap.original();
Я искал высоко и низко, но ничего не нашел; или, может быть, я не искал правильных вещей.
Ответы
Ответ 1
Функция для этого 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
Ответ 2
$("#someId")
вернет объект jQuery, поэтому вы можете получить фактический элемент HTML, который вы можете сделать:
wrap[0]
или wrap.get(0)
.
Ответ 3
Вы можете просто использовать var orig = wrap[0];
, насколько я знаю, если есть более одного элемента. Если есть только один, вы можете просто использовать wrap
без $()
вокруг него.
Ответ 4
Вы можете использовать get() для извлечения элемента HTML.
var orig = wrap.get(0);
Однако если wrap
состоит из нескольких элементов, вам нужно будет знать правильный индекс, который будет использоваться при использовании функции get()
.
Ответ 5
Вы можете использовать обертку еще раз. Wrap - это то же самое, что и "orig" будет в приведенном выше!:)
Если вы действительно хотите:
var orig = wrap;