JQuery находит элемент в Iframe (по его тексту) и добавляет к нему функцию.click
У меня есть веб-страница (A), и я встраиваю (A) в свою главную страницу (B), используя iframe. Это (A) содержит ссылку, которая закрывает окно браузера:
<a href="" onclick="window.opener = window;
window.close();
return false;">Close The Page</a>
Поскольку я встраиваю (A), близкая способность в (A) более не функциональна. Что мне нужно сделать, так это то, что при нажатии на эту ссылку из (B) я хочу скрыть свой iframe, другими словами, чтобы он выглядел как закрывающийся. Так что я должен добраться до этой ссылки в iframe и понять, нажата она или нет (B)?
Помогите, пожалуйста.
Спасибо
1 ответ
Я думаю, что следующее будет работать. Мы в основном выполняем "поиск" по содержимому вашего iframe. Как только мы находим нужную ссылку, мы привязываем к ней событие, которое закрывает соответствующий iframe в родительском документе. Обратите внимание, что ваш iframe должен находиться в том же домене, что и родительская страница, иначе вы не сможете получить доступ к его элементам. Кроме того, я добавил класс по ссылке, чтобы облегчить выбор. Я предлагаю вам также сделать это.
$("#iframeID").contents().find("a.closeWindow").bind("click", function(){
$("#iframeID", top.document).hide();
});
Если вам абсолютно необходимо привязать привязку к тексту ссылки, вам придется переключаться между ссылками, чтобы найти нужную:
$("a", $("#iframeID").contents()).each(function(){
if ($(this).text() == "Close The Page") {
$(this).bind("click", function() {
$("#iframeID", top.document).hide();
});
}
});