загрузить ссылку src в iframe с помощью jquery

Мне было интересно, возможно ли, чтобы jQuery просматривал группу ссылок в классе div, и когда одна из этих ссылок нажимается, src этой ссылки загружается в iframe.

Я думаю, это было бы что-то вроде

$(function() {
$('.link_group a').on('click', function(){
   $('iframe#frameID').attr('src', $(this).attr);
});
});

РЕДАКТИРОВАТЬ - мой jQuery теперь выглядит так

$(function() {
$('.link_group a').on('click', function(){
$('iframe#frameID').attr('src', $(this).prop('href'));
});
});

HTML

<div class="link_group">
<a href="Link 1.asp">Link 1</a>
<a href="Link 2.asp">Link 2</a>
<a href="Link 3.asp">Link 3</a>
<a href="Link 4.asp">Link 4</a>
</div>

но это точно не работает..

Может кто знает как это правильно сделать?


person xxstevenxo    schedule 09.07.2012    source источник


Ответы (2)


Вы должны передать параметр методу attr(), а также выбрать, какой атрибут:

$(this).attr('href')

Или, совсем недавно в jQuery:

$(this).prop('href');

Кроме того, id уникален в документе, поэтому, если вы не используете точно такой же сценарий на других страницах и не используете этот id для других типов элементов, указание iframe является излишним и потенциально замедляет работу вашего селектора.

person David says reinstate Monica    schedule 09.07.2012
comment
Спасибо за ответ. Я попробовал $('iframe#frameID').attr('src', $(this).prop('href')); в своей функции и тоже не смог заставить ее работать. Я также пытался удалить #frameID, как вы предложили, но все равно не повезло.. - person xxstevenxo; 10.07.2012
comment
помимо использования prop() мне также нужно было предотвратить дефолт. теперь даже все работает отлично. спасибо! - person xxstevenxo; 10.07.2012

пытаться:

$(this).attr("href")

или предпочтительно в jQuery 1.6+:

$(this).prop("href")

вместо:

$(this).attr
person mgraph    schedule 09.07.2012
comment
... или предпочтительно .prop() начиная с jQuery 1.6. - person Pointy; 10.07.2012