2012-03-20 4 views
3

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

Скажет, ради аргумента, что мы хотим to prepend() его идентификатор для каждого элемента, соответствующего классу class_name. Я думал, что правильный способ сделать это будет примерно таким:

$ ('. Class_name'). Prepend ($ (this) .attr ('id'));

Но это не работает. Похоже, что $ (это) используется только в случае callabacks событий. Но как мне получить идентификатор (или любой другой атрибут) каждого конкретного элемента?

Большое спасибо !!!

+0

Я не понимаю, что вы хотите здесь сделать. Prepend - создать новый элемент DOM, а не атрибут. Вы хотите установить новый атрибут «id» для сопоставленного объекта? Вы хотите добавить класс, равный id элемента? – haltabush

+0

Это надуманный пример. Предположим, я хочу добавить, что читает «Мой идентификатор: ». Мой вопрос: я хочу получить идентификатор каждого совпадающего элемента, когда я использую селектор, который соответствует нескольким элементам. Яснее? – MarkT

ответ

5

Вы можете использовать .each():

$('.class_name').each(function(index, element){ 
    $(element).prepend($(element).attr('id')); 
}); 

Пример: http://jsfiddle.net/d8Uj8/

+0

Aha! Это похоже на то, что я хочу. Большое большое спасибо! – MarkT

+0

рад помочь вам! если вы хотите, вы можете принять и/или отложить ответ. взгляните на FAQ: http://stackoverflow.com/faq#howtoask – Alex

+0

Принято. Не могу голосовать, потому что, по-видимому, я недостаточно авторитетен :) – MarkT

0

Использование each():

$('.class_name').each(function(){ 
    var id = this.id; 
    $(this).prepend('<span>' + id + '</span>'); 
}); 

Кроме того, это лучше, чтобы обернуть его в теге вместо того развернутого текста узел, плавающий вокруг.

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