#jquery #this
#jquery #это
Вопрос:
Я все еще новичок в jquery / javascript, так что простите меня, если это очевидно.
Я создаю страницу с биографией исполнителя для конференции (она здесь, в режиме реального времениhttp://www.thinkinc.org.au/artists.html ). Когда вы нажимаете на изображение исполнителя, открывается цветное поле с биографией исполнителя и видеороликами. При нажатии на эскизы я хочу отправить команду .remove () на исходное видео («initvid») динамика, который просматривает пользователь.
Оскорбительный код javascript находится здесь:
$(document).ready(function () {
$('.thumbnails img').click(function () {
$('#initvid') $(this).attr('id').remove(); /* I want this to get #initvid the id of the thumbnail image that was clicked (to make #initvidtyson or #initvidhitchens) then .remove() it */
$('#vidContainer').html('<iframe id="playingMovie" width="480" height="390" src="' $(this).attr('toobId') '" frameborder="0" allowfullscreen></iframe>');
$('#vidContainer iframe').fadeToggle(400);
});
});
Если вы посмотрите на код для моих эскизов, у каждого есть идентификатор художника, биографии которого они принадлежат. (например ; ). Я хочу создать функцию jquery, которая удаляет #initvidhitchens или #initvidtyson (в зависимости от того, на какие био-кнопки нажимаются).
Вероятно, отсутствует что-то совершенно очевидное, но почему мой текущий код не работает?
Комментарии:
1. Если это один и тот же контейнер для всех видеороликов, зачем вам удалять и добавлять, когда вы можете просто перезаписать?
Ответ №1:
Это должно быть так:
$('#initvid' $(this).attr('id')).remove();
или это:
$('#initvid' this.id).remove();
Ваш код не работал, потому что:
$('#initvid') //Here you're getting element with id 'initvid', which doesn't exist
$(this).attr('id').remove(); //The result of getting id attribute wasn't a jQuery object, so it doesn't have 'remove' method
Надеюсь, это поможет
Ответ №2:
$('#initvid' $(this).attr('id')).remove();
Ответ №3:
Закрыть. Строка, переданная в $
, — это то, для чего необходимо объединить дополнительный идентификатор.
$('#initvid' $(this).attr('id')).remove();
Думайте об этом как:
$('#initvid' extra) // the *result* of the string concat is used as the selector
Однако, в зависимости от конкретной проблемы, могут быть более чистые методы для выполнения этой задачи.
Удачного кодирования.
Комментарии:
1. Ах, понял. Очень рад видеть, что я был почти прав! Приветствую, приятель.