jQuery Изменение дочерних элементов в содержимом iFrame

0

У меня есть iFrame, который показывает файл Excel, сохраненный как html (тот же домен). Я называю это так:

<iframe id="nieuws" src="nieuws.htm" seamless ></iframe>

Я хотел бы показать гиперссылки в Excel.html так же, как и все мои другие. Все ссылки в Excel отформатированы с тегом SPAN в теге A. Как это:

<a href="http://[HYPERLINK]">
<span style='font-size:12.0pt'>[TEXT HERE]</span>
</a> 

Так я и делаю:

$('#nieuws').contents().find('a > span').css('font-size', '10pt');

Но это не сработает. Кто-нибудь знает, почему?

  • 1
    Покажите нам свой HTML-код Iframe
  • 0
    пока вы не покажете нам свой iframe html, мы не сможем помочь
Теги:
iframe

2 ответа

0
$(document.getElementById('iframename').contentWindow.document.body).find('font').attr("face", "Tahoma")
  • 0
    Было бы здорово, если бы вы могли немного уточнить свой ответ. Например, в чем проблема с кодом OPs и почему ваш фрагмент кода является решением его проблемы.
0

каждый iframe на странице имеет свой собственный DOM, который является тегом iframe, который является частью вашей текущей страницы, а не ее содержимым (поскольку его содержимое является другим документом).

Я ответил на этот вопрос здесь. Вы можете реорганизовать код в соответствии с вашим требованием qaru.site/questions/4249565/...

РЕДАКТИРОВАТЬ

<iframe id="nieuws" src="nieuws.htm" onload=load()></iframe>

function load()
{
  var frm=document.getElementById('nieuws')

  var frmdoc=frm.contentDocument || frm.contentWindow.document;

  $(frmdoc).find('a span').css('font-size', '10pt')
}
  • 0
    Большое спасибо за ваш ответ. Я запускаю его в IE, но не в Chrome. Самая первая строка не дает никакого результата в Chrome. 'var doc = window.frames ["yourFrameName"] .document "возвращает ноль в документ. У вас есть такой же опыт? (да, я заменяю yourFrameName)
  • 0
    Chrome и Opera имеют проблемы с тем же источником и тем же доменом, но я не думаю, что это проблема, так как вы упомянули, что содержимое как основного окна, так и iframe принадлежат одному домену. Однако я отредактировал ответ и проверил его на локальном хосте моего компьютера. Я надеюсь, что это решит проблему

Ещё вопросы

Сообщество Overcoder
Наверх
Меню