Не могу получить идентификатор элемента - PullRequest
1 голос
/ 07 июля 2011

У меня есть список изображений, и мне действительно нужно получить ID каждого изображения внутри моего JS, но я не знаю, как это сделать. Я попробовал этот метод, но он возвращает пустую строку вместо ID. Я пытался получить его из элементов DOM http://galleria.aino.se/docs/1.2/references/dom/, как $(".galleria-thumbnails img").click(function(){alert((this).id)});, но этот метод не работает, оповещение просто не отображается. Также я провел некоторое исследование здесь http://galleria.aino.se/docs/1.2/api/methods/ и получил этот код, но он показывает предупреждение о пустой строке.

    $("#gallery").galleria({
        });
    myGalleria = Galleria.get(0);

    myGalleria.$('thumbnails').click(function(){
        alert((this).id);
    });

галерея div

    <div id="gallery">
        <img id="someid" src="http://photoapproaches.files.wordpress.com/2010/03/helen-model-2272.jpg" />
        <img id="otherid" src="http://leandrovieira.com/projects/jquery/lightbox/photos/image1.jpg" />
    </div>

В консоли нет ошибок, в консоли ничего не отображается. Кроме того, эта разметка работает нормально, плагин галереи самостоятельно создает элементы DOM, и это очень расстраивает из-за этой ситуации. Структуру DOM можно посмотреть здесь, но я также свяжу ее здесь http://galleria.aino.se/docs/1.2/references/dom/

<div class="galleria-container">
    <div class="galleria-stage">
        <div class="galleria-images">
            <div class="galleria-image">
                <img>
            </div>
            <div class="galleria-image">
                <img>
            </div>
        </div>
        <div class="galleria-loader"></div>
        <div class="galleria-counter">
            <span class="current"></span>
            <span class="total"></span>
        </div>
        <div class="galleria-image-nav">
            <div class="galleria-image-right-nav"></div>
            <div class="galleria-image-left-nav"></div>
        </div>
    </div>
    <div class="galleria-thumbnails-container [ carousel ]">
        <div class="galleria-thumb-nav-left [ disabled ]"></div>
        <div class="galleria-thumbnails-list">
            <div class="galleria-thumbnails">
                <div class="galleria-image">
                    <img>
                </div>
                [...]
            </div>
        </div>
        <div class="galleria-thumb-nav-right [ disabled ]"></div>
    </div>
    <div class="galleria-info">
        <div class="galleria-info-text">
            <div class="galleria-info-title"></div>
            <div class="galleria-info-description"></div>
            <div class="galleria-info-author"></div>
        </div>
    </div>
    <div class="galleria-tooltip"></div>
</div>

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Вот один из способов доступа к идентификатору элемента:

 var currentId = $(this).attr('id');

Для вашего случая вы можете попробовать это:

myGalleria.$('thumbnails').click(function(){  

alert($(this).attr('id'));     

}); 
0 голосов
/ 07 июля 2011

не должно ли быть alert($(this).id);?(Обратите внимание на $).

...