2011-07-06 6 views
0

私は、この行にこの行に何が問題なのですか?

Breaking on JScript runtime error - Unknown runtime error 

を取得しています:

c.innerHTML= '<a name="a1" class="b" href="' + d[2].value + '">' + 
       d[1].value + '</a>'; 
+0

もう少し文脈を与えることができますか? – lonesomeday

+0

"c"は "innerHTML"が機能しないDOM要素(または何らかのもの)を参照しているという問題があると思います。 – Pointy

+0

あなたは最初の問題である 'innerHTML'を使っていますが、しないでください。 –

答えて

1

私はcがアンカー要素であることに気づいて、あなたは、ほとんどのブラウザが無効なHTMLを容認することができますが、有効なHTMLでない子アンカー要素を、作成するために、そのinnerHTMLを設定しようとしています。物事を明確にし、問題の特定に役立つだろう何かが次のようにコードを書くことになります:

var b = document.getElementById('Bb1c'); 
var c = document.createElement('a'); 
var d = document.forms['f3'].elements; 
c.name = 'a1'; 
c.className = 'b'; 
c.href = d[2].value; 
var value = d[1].value; 
// You should really HTML-escape value before assigning it. 
c.innerHTML = value; 
b.appendChild(c); 

これはおそらく、まだ前と同じエラーを持っていますが、どの行に把握することを容易にする必要がありますエラーが発生しています。たとえば、d[1]またはd[2]のいずれかがnullである可能性があります。

1

脱出する必要はありません。一重引用符と二重引用符を組み合わせて使用​​します。

c.innerHTML= '<a name="a1" class="b" href="' + d[2].value + '">' + d[1].value + '</a>'; 
+0

さて、今私は確信していません...あなたのhtmlも投稿してください http://jsfiddle.net/nfhY7/ – kei

+0

私は元に戻ってこの質問を削除したいと思います。一重引用符。再度、感謝します。 –

関連する問題