1

次のページレイアウトがあります

<div id="userscore" >test</div>
<iframe name="frameContent" id="frameContent" width="100%" height="100%" frameborder="0" />

iFrame は、JavaScript を含むコンテンツを動的に取得します。

iFrame 内からユーザースコアにアクセスしようとすると

console.log(window.parent.document.getElementById('user-score'));

コンソールに入ります

<div id="userscore" >test</div>

使おうとすると

window.parent.document.getElementById('user-score').html('Change the content');

私は得る

Object [object HTMLDivElement] has no method 'html'

これを回避する方法はありますか?または、何が起こっているのかについて誰かが光を当てることができますか.

4

1 に答える 1

7

DOM 要素にはメソッドがありません.html()。このメソッドは、jQuery などの JavaScript ライブラリでよく見られる拡張機能です。

プレーンな JavaScript を使用する.innerHTML場合、要素の内容を変更したい場合は、プロパティを設定する必要があります。

window.parent.document.getElementById('user-score').innerHTML = "New content";
于 2013-01-14T12:25:41.480 に答える