2013-12-15 6 views
-3

У меня есть HTML-кодполучить текст JavaScript + IFrame

сайт index.html

<html> 
<body> 
    <iframe id="html2" frameborder="0" src="html2.htm" marginwidth="0" marginheight="0" style="height: 492px;"></iframe> 
</body> 
</html> 

сайт html2.htm

<html> 
<body> 
    <div><p id='123'>hello</p></div> 
</body> 
</html> 

, когда я с помощью document.getElementById('123') в сайте index.html return = null; как я могу получить его

+0

Возможный дубликат: http://stackoverflow.com/questions/1088544/javascript-get-element-from-within-an-iframe Кроме того, id не может начинаться с числа, и это не сработает, если iframed страница находится в другом домене. – ElGavilan

+0

Приветствую нового пользователя. Пойдем со мной на заднем дворе. Я покажу вам небольшой трюк: http://stackoverflow.com/tour –

+0

@ m59 Вы убили мое стремление к отступом кода. Благодарю. –

ответ

0

Вам необходимо сначала войти s innerDoc из IFRAME по:

var iframe = document.getElementById('html2'); 
var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 

как только вы получите объект, теперь вы можете получить доступ к:

innerDoc.getElementById('divId'); 

Для ID в HTML, вы должны следовать этим правилам:

ID должны соответствовать :

[A-Za-z][-A-Za-z0-9_:.]* 
  1. должен начинаться с AZ или аз полукокса актеры.Пожалуйста
  2. мая содержит _ (дефис),:. (Колан) и (точка)

, но следует избегать : и . Beacause JQuery селектор конфликтов на них с классом и фильтром.

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