我有2個HTML文件,分別是a.html
和b.html
,其中一個js文件即do.js
。當前代碼中iframe的div內無法訪問的元素
下面是每個每個文件的內容:
a.html:
<head>
<script src="do.js" type="text/javascript"></script>
</head>
<body>
<button onClick = "doWork();">click me</button>
<iframe src = "b.html" id = "previewFrame"></iframe>
</body>
b.html(相關部分):
<div id = "container"></div>
做。 js:
function doWork(){
var div = $('#previewFrame').contents().find('#container');
div.html("<input type = 'text' id = 'testElem' value = '12'><script>alert(document.getElementById('testElem').value);</script>");
}
當我運行上面的代碼時,iframe的內容被替換爲文本框,但是警報失敗。
我收到一個「類型錯誤」,指出document.getElementById
...爲空。
任何人都可以告訴我在上面的代碼中缺少什麼?
嘗試爲「輸入」添加結束標記,在這種情況下,它應該是自閉標記。 – Teemu
直接使用'#previewFrame'和'#testElem'訪問'testElem'。 – DevlshOne
@Stano JS被執行,但它觸發一個錯誤,告訴剛創建的'#testElem'不存在,而不是提醒'12'。 – Teemu