2012-06-20 2 views
0

Как я могу получить jQuery для возврата элемента html точно так, как это делает getElementById?возвращает один элемент html с jquery

если я console.log($('#container')) я получаю:

[<div id="container"></div>] 

Но API я взаимодействующий с явно не хочет, чтобы (массив) - он хочет:

<div id="container"></div> 

Я знаю, что могу достигните этого с помощью $('#container').get(0) и несколькими другими способами. Это просто кажется излишним - особенно, поскольку я выбираю идентификатор, который всегда будет уникальным.

Что мне не хватает парней?

Благодаря

+2

Вы можете использовать '$ («# контейнер») [0]' –

+0

Почему вы не просто использовать getElementById? – tjscience

+0

На самом деле, я не вижу здесь вопроса. Вы знаете больше, чем пытаетесь спросить. – VisioN

ответ

5

Если вы просто хотите, один элемент DOM, а затем просто использовать обычный JavaScript :

var obj = document.getElementById("container"); 

Селекторы jQuery всегда создают объект jQuery с массивом элементов в нем. Это так, как он был разработан. Если вам нужен один элемент, вы либо получите первый элемент из объекта jQuery, либо используете другой инструмент.

От объекта JQuery, вы можете получить первый объект либо с:

$('#container').get(0) 

или с:

$('#container')[0] 

Но, я бы сказал, что и больше, чем вам нужно, если все, что вы want - это единственный объект с идентификатором. Просто используйте document.getElementById(). Если вы хотите меньше печатать, вы можете сделать свой собственный короткометражный функцию:

function $$(id) { 
    return(document.getElementById(id)); 
} 

var obj = $$("container"); 
+1

просто вещь, должна быть «контейнером» не «#container» – Rodolfo

+0

@ Родольфо - да, я исправил опечатку. – jfriend00

+0

Вам следует отказаться от '#', он не будет работать с простым javascript. – kwelch

0

попробовать с помощью .html() будет возвращать HTML элемента ваш выбирающий см:

http://api.jquery.com/html/

+0

Это вернет содержимое элемента, а не самого элемента. – j08691

Смежные вопросы