2010-05-05 5 views
3

Я уверен, что это просто, но я не могу понять это. Мне нужно иметь возможность передавать функцию id элемента и знать, что это за элемент.jquery selectors (find tag)

Например:

<a id="first"></a> 
<input id="last" /> 

Если я знаю, что идентификатор «первый», как я могу получить, что тег «а»?

ответ

3

Это следует сделать это:

var tagName = $("#first")[0].tagName; 

The [0] является синонимом get(0). Вы получаете первый элемент из объекта jQuery и используете свойство DOM tagName. Это, возможно, более простым в ванильным Javascript:

var tagName = document.getElementById("first").tagName; 
2

Вы можете использовать свойство DOM tagName так:

document.getElementById('first').tagName 

Или с JQuery, вам нужно будет сделать:

$('#first')[0].tagName 
1

$ . ("# Первый") атр ("тэгу");

+0

Я не думаю, что это будет работать. 'tagName' не является атрибутом. –

+0

@Jacob - Не сбивайте его :) http://jsfiddle.net/J8eUS/ Но ... Я согласен, что это чрезмерное использование jQuery в этом случае. –

+0

@ Ник, это невероятно! –

2

Я хотел бы использовать .nodeName здесь (there are a few reasons this matters), как это:

$("#first").get(0).nodeName 
//or the vanilla js way... 
document.getElementById("first").nodeName 
+0

Здесь нет никаких различий. – cletus

+0

@cletus - Правда, но, видя, что OP еще не знает '.tagName' или' .nodeName', я думаю, что лучше всего указать на различия при первом изучении. –