不負(fù)相思意
2018-07-04 10:06:12
btn.onclick=function(){var iframe = document.getElementsByTagName("iframe")[0];var oldNode=iframe.contentDocument.getElementById('myNode');var newNode=document.importNode(oldNode,true);document.body.appendChild(newNode);}這個(gè)能執(zhí)行,下面就執(zhí)行不了var iframe = document.getElementsByTagName("iframe")[0];var oldNode=iframe.contentDocument.getElementById('myNode');var newNode=document.importNode(oldNode,true);btn.onclick=function(){document.body.appendChild(newNode);}
2 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
放在click外面的代碼是在頁(yè)面剛調(diào)入內(nèi)存的時(shí)候就立刻執(zhí)行的,這個(gè)時(shí)候頁(yè)面的整體結(jié)構(gòu)尚未完全調(diào)入,所以讀取頁(yè)面元素的操作很可能會(huì)失敗(尤其是當(dāng)js代碼是放在DOM元素前面的時(shí)候,比如head區(qū)域內(nèi))!而放在click里面的話,則表示是在按鈕點(diǎn)擊后才執(zhí)行的,這當(dāng)然就沒(méi)問(wèn)題啦(因?yàn)檫@個(gè)時(shí)候整個(gè)頁(yè)面肯定都已經(jīng)調(diào)入內(nèi)存了)!
如果一定要放在click外面(事實(shí)上也推薦這么做,因?yàn)榭梢员苊庵貜?fù)執(zhí)行代碼),那么改成下面這樣就沒(méi)問(wèn)題了:
添加回答
舉報(bào)
0/150
提交
取消