2016-06-08 4 views
-1

мне нужно изменить стиль моего рамного элемента, однако IFrame не имеет идентификатора или класса или имениJavaScript - элементы IFrame доступа

<div id="A"> 
     <iframe src="iframe-left.html"> 
      <div class="login" style="display : none;"> </div> 
     </iframe> 
</div> 
<div id="B"> 
    <iframe src="iframe-right.html"> 
     <button onclick = "execute()">Submit</button> 
    </iframe> 
</div> 

function execute() 
{ 
    parent.document.getElementsByTagName("iframe").contentDocument.querySelector(".login").style.display = 'block'; 
} 

Что ошибка в яваскрипте функции?

+0

Вы знаете, что с Makup как это элементы внутри тегов Iframe делают только, если браузер пользователя не может оказывать плавающие фреймы (которые никогда). – zer00ne

ответ

1

Привет Я думаю, вы должны получить первый элемент списка узлов, см http://www.w3schools.com/jsref/met_document_getelementsbytagname.asp

Другими словами, вы должны сделать:

parent.document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".login").style.display = 'none'; 
+0

Работает! Большое спасибо: D – Zero4

+0

С удовольствием !! –

+0

Как должен работать 'parent.document'? Функция вызывается из родительской страницы, а не дочерней. Я протестировал его, посмотри демо. – zer00ne

-1

почему бы вам не использовать JQuery? - включить Jquery скрипты, а затем и это сразу же после

<script> 
$('iframe').hide(); 
</script> 
+0

Разве мы не можем добиться этого JS? Весь код написан в JS здесь, вот почему JS. Если это не удается, я бы попробовал jQuery – Zero4

Смежные вопросы