3

HTMLで書くことを学んでいますが、理解できない問題が1つあります。次のコードは、他のブラウザーでは機能しますが、IE9 では機能しません。何か関係があることは知っていますがinnerHTML、これについて見つけた答えを理解できませんでした。

<html> <head> <script type="text/javascript">
function hw_function1() {
    var img11=document.createElement("a"); 
    img11.innerHTML = "<html> <body> <a href='http://google.de'>Google</a> </body></html>";
    document.body.appendChild( img11 );
}
</script>
<body>
    <a href="#" onclick="javascript:hw_function1()";>Test</a>
</body> </html>

構造を変更せずに何を変更すればよいですか (可能な場合は innerHTMl 部分のみ)。

4

2 に答える 2

5

要素を作成しているので、プロパティaを介して要素に href を割り当てるだけです。.href

.innerHTML実際には「純粋な」アプローチではありませんが、便宜上 でテキスト コンテンツを設定できます。

var img11=document.createElement("a");

img11.href='http://google.de';
img11.innerHTML = 'Google';

document.body.appendChild( img11 );

テキストコンテンツを設定する別の方法は次のようになります...

img11.appendChild(document.createTextNode("Google"));
于 2012-07-21T00:22:10.467 に答える
3

コードは、元のページ内に別の HTML ページを作成しています。それは間違っており、無効です。一部のブラウザは、コードが機能することさえ許し、修正しているためです。

ハイパーリンク要素を作成する場合は、innerHTML を使用して、その中にテキスト、画像、またはその他のインライン要素を追加する必要があります。

属性を変更して href を設定する必要がありますimg11.href='http://xyz.com';

于 2012-07-21T00:23:54.333 に答える