jQuery - захват значения из одного атрибута для использования в качестве видимого текста - PullRequest
0 голосов
/ 18 ноября 2010

Я добавляю некоторые пользовательские улучшения в виджет с вкладками jQuery-UI. Одна из вещей, которые я пытаюсь сделать, это автоматизировать текст ссылки на каждой панели вкладок, взяв значение атрибута alt изображения на соответствующей вкладке. Проблема, с которой я сталкиваюсь, заключается в том, что она работает только для первой вкладки, а остальные возвращают нулевые значения.

Вот ссылка на тестовую страницу. (Код для запуска вкладок не включен, поскольку он не связан с проблемой.)

А вот раздел jQuery, который доставляет мне проблемы:

$('.imageTabs').find('.link').each(function() {
    $(this).find('a').each(function() {
        $(this).html($(this).parent('.link').parent('.ui-tabs-panel').prev('.ui-tabs-nav').children('li.' + $(this).parent('.link').parent('.ui-tabs-panel').attr('id')).children('a').children('img').attr('alt'));
    });
});

1 Ответ

3 голосов
/ 18 ноября 2010

Вы пытаетесь сделать слишком много в одной строке IMO, а также должны использовать встроенные селекторы jQuery вместо $.find(), где это возможно.

Удобно, у вас href каждой вкладки установлено на #tab-1, который также работает как селектор jQuery для ваших областей контента.так ... работает?

$('.ui-tabs-nav a').each( function() { 
    var name = $(this).find('img').attr('alt'); 
    var ref = $(this).attr('href'); 
    $(ref).find('.link').text(name); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...