2012-03-02 2 views
0

「innerHTML」を使用していくつかの新しいリンクを挿入しようとしています。同じ 'ids'にいくつかの呼び出しがあるかもしれないので、私は変数を使うことが賢明だと考えました。以下はアラートを超えて応答しませんか?私が 'var link'を使わずに完全に入力すれば、プロセスは正常に動作します。おそらくxhtmlでこれを行うことを試みている問題はありますか?xhtmlの変数としてdocument.getElementById

ありがとうございました。

var newlink = '<a title="new link" href="newlink.htm">New Link</a>'; 
var link = "document.getElementById('idlink')"; 

if(link) { 
alert("link confirmed"); 
link.innerHTML = newlink; 
} 
+0

は本当にこのビットを理解しない - >「私はそれが賢明だろうと思った同じ 『IDS』に関するコール数があるかもしれないとあなたは説明することができますか? – ManseUK

+1

document.getElementById( 'idlink') ''はなぜ文字列ですか? –

+0

@Smamattiは 'span'や' div'や 'p'などのようになります – ManseUK

答えて

1

でなければなりません。文字列の内容が実行可能なコードのように見えるだけで実際に実行されるわけではありません。それは単なる文字列です。

は、メソッドを呼び出し、結果を変数に割り当てる:

var link = document.getElementById('idlink'); 
+0

Guffaありがとう、ManseUKへの私のコメントを見てください。 – martin

+0

@martin:スクリプトをonloadイベントで実行するか、見つけようとしている要素の下にあるスクリプトタグでスクリプトを実行しますか?さもなければ、要素はまだ存在しません。 – Guffa

+0

Guffa、文書の先頭に「var link」を割り当てていましたが、これはおそらく問題でした。私は要素の後にページのさらに下にそれを割り当てる場合、それは動作します。 – martin

4
var link = "document.getElementById('idlink')"; 

あなたは変数に文字列を代入している

var link = document.getElementById('idlink'); 
+0

ありがとうManseUK、私は引用符なしで始めましたが、私は警戒への応答までさえ得ていませんか? – martin

+0

@martinあなたのHMTLにあなたの質問を追加してください。もう一度見てみましょう – ManseUK

関連する問題