Я google, но не нашел что-то вроде этого.Атрибуты копирования JQuery
Я имею в IFRAME с 2 основными атрибутами SRC = # и ссылки = http://somesite.com
<iframe id="myiframe" src="#" link="https://somesite.com?id=x&anotherid=y" style="position:absolute; left:0px; top:0px; width:99%; min-width:80%; height:99%; min-height:80%; padding:0px;"></iframe>
Я загрузить эту IFRAME в HTML из некоторого PHP скрипт, но я не хочу, чтобы загрузить страницу Thats, почему я б # в качестве источника, теперь, когда я нажимаю кнопку на сайте будет загружаться IFRAME (если он не был загружен из предыдущего щелчка), мое временное решение было:
<input type="button" value="load" onClick="var fr = document.getElementById('myiframe');if(fr.src.substr(-1)=='#'){fr.src=document.fr.getAttribute('link')};" />
Теперь у меня было немного времени, чтобы реализовать jQuery, и я хочу узнать, есть ли какой-нибудь простой код в jQuery для копирования f присвоить атрибут другому, или если есть лучшее решение для этого.
что-то вроде этого: $ ('# myiframe'). Attr ('src', attr ('link'));
я знаю, на следующем будет работать
$('#myiframe').attr('src', attr('link'));
, но я думаю, что это не много, чтобы выбрать один и тот же элемент в два раза. (Я вроде оптимизатора маньяк :))
или вы думаете, что я должен использовать функцию:
$('#myiframe').attr('src', function(){
...
});
Мой вопрос: что является лучшим способом для достижения этой цели. Спасибо.
Будет ли это работать с несколькими элементами? т.е. если $ ('# myiframe') вернул набор из 10? Я считаю, что второе решение было бы, но не первым – Sameer
Из документов jquery: «Важно отметить, что метод .attr() получает значение атрибута только для первого элемента в согласованном наборе». –
Sameer - $ ('# myiframe') должен возвращать только один элемент, потому что хэш обозначает id - и идентификаторы должны быть unqiue на данной странице, иначе у вас есть дефектный html. – Sorcy