#javascript #typeerror
#javascript #ошибка типа
Вопрос:
У меня есть HTML-страница с iframe, похожая на эту:
<div id="searchbox" background-size: cover;" class="img-responsive center-block" >
<iframe src="/custom_scripts/tbox/tbox.aspx" />
<div id="blackout" style="background-image:url(/skins/default/images/blackout.png); opacity: 0.5; display:none;"></div>
</div>
Итак, в tbox.aspx у меня есть:
<script type="text/javascript">
function blockme() {
document.getElementById('blackout').style.display = 'block';
}
</script>
<div id="divResults" class="options" onclick="blockme();"></div>
Однако, когда я нажимаю на «divResults», он выдает мне сообщение об ошибке «Uncaught TypeError: не удается прочитать свойство ‘style’ null»
Я знаю, что эта ошибка связана с путем к элементу «затемнения», который я не могу просмотреть в документе, чтобы найти его.
Любая помощь?
Ответ №1:
Ваша функция blockme
выполняется в a iframe
, это означает document
iframe
только содержимое документа, iframe не включает элемент с идентификатором blackout
. Он принадлежит parent
документу.
Давайте попробуем:
<script type="text/javascript">
function blockme() {
parent.document.getElementById('blackout').style.display = 'block';
}
</script>