2009-09-21 4 views
1

Возможно ли получить идентификатор элемента (div, input и т. Д.) С помощью jQuery и как?Получить идентификатор HTML-элементов с помощью jQuery

+2

Невероятно простые вопросы о jquery: конечный джекпот! –

+0

Не нужно использовать jQuery. 'element.id' - это все, что вам нужно (если это ** один элемент **, конечно). – kangax

ответ

6

См Attributes/attr

Простой пример:

alert($('div.someclass').attr('id')); 

Если есть больше чем один DIV с классом someclass (то есть, селектор возвращает более одного элемента), вы можете получить их все обернув через элементы с помощью each и толкая идентификаторы в массив, например:

var ids = []; 
$('div.someclass').each(function() { 
    ids.push($(this).attr('id')); 
}); 

Только т о пойти немного дальше, вы можете использовать attribute filters (в данном случае attributeHas), чтобы выбрать только те элементы, которые имеют идентификаторы, например:

var ids = []; 
$('div[id]').each(function() { 
    ids.push($(this).attr('id')); 
}); 

и, наконец, вместо того, чтобы использовать каждый, вы можете использовать map(callback), который обеспечивает аккуратнее способ сделать выше:

var ids = $('div[id]').map(function(index, domElement) { 
    return $(domElement).attr('id'); 
}).get(); 
alert(ids.join(",")); 
+0

+1 для наиболее полного ответа в то время. Я люблю jquery! –

+0

Не нажимайте вручную ... У нас есть $ .fn.map(). – James

+0

@ J-P спасибо, я забросил его. – karim79

2
$('elementselector').attr('id'); 

вы должны выбрать правильный селектор, чтобы убедиться, что вы выберите элемент интереса.

0
$(element).attr('id') 
+2

Если у вас уже есть элемент, как в вашем примере, было бы проще и быстрее выполнять элемент element.id –

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