Получить идентификатор в JQuery не работает - PullRequest
0 голосов
/ 06 декабря 2011

У меня странная проблема. Я использовал это раньше без проблем, но внезапно это не работает вообще. Я пытаюсь получить значение идентификатора элемента:

<script>
    $(document).ready(function() {
        $("img").live('click', function(event) {               
            var name = $(this).text();
            var id = $(this).attr('id');
            var id = this.id;
            alert(id);
            event.preventDefault();
        });
    });
</script>

Вот элемент:

<img src="<?=base_url()?>assets/images/test.jpg" id="myId"/>

Я пробовал оповещение с обоими вариантами, описанными выше, непосредственно с this.id и через функцию attr. Ни то, ни другое не работает. $ (this) .text () работает нормально.

Я получаю "undefined" в окне предупреждения ...

Что происходит?

Ответы [ 3 ]

1 голос
/ 06 декабря 2011

Вы перезаписываете идентификатор с помощью

var id = this.id;

снова после получения

0 голосов
/ 06 декабря 2011

Как видно из этого примера, ваш код работает отлично: http://jsfiddle.net/nicolapeluchetti/VwzZm/, поэтому ошибка должна быть в другом месте.

Фактически text () делает это:

Получить объединенное текстовое содержимое каждого элемента в наборе совпадающих элементы, включая их потомков.

И поэтому маловероятно, что он получит ваш идентификатор.

0 голосов
/ 06 декабря 2011

Удалите строку var id = this.id; и скрипт должен работать.

...