2011-08-11 6 views
-2

JavaScriptでリンク(a-element)を生成しようとしていますが、動作しません。私は体に要素を追加しますが。何も表示されていません。私はさまざまな例を見つけましたが、何も動作していないようです。JavaScriptでリンクを作成する

function getLink(){ 
      var a = document.createElement('a'); 
      a.title = "text"; 
      a.innerHTML = a.title; 
      a.href = "http://example.com"; 
      document.body.appendChild(a); 
     } 
+0

jQueryを使用できますか? –

+0

Firebugはそれについて何を言わなければならなかったのですか?あなたはDOMを調べましたか?他にどのようなデバッグをしましたか? –

+0

ここで動作します。http://jsfiddle.net/vmDfk/ – Vache

答えて

2

the page you linked us to in commentsを見る:

<body onload="getVideo"></body> 

getVideoは、関数呼び出しではありません。

書き込み:のVacheはすぐをあなたが私たちを与えたスニペットを含むテストケースを掲示し、することができたか

<body onload="getVideo()"></body> 

お知らせ機能がgetVideo作品ということを証明します。それでは、他のJavascriptが何を含んでいたかを知ることができました。それはちょうどの8文字であり、この解決策につながりました。 基本的なデバッグ!質問の周りから照合


さらに思考:

  • innerTextinnerHTMLより適切であろう。概念的には、ユーザーが何を見るべきかを定義しています。このため、innerTextもHTMLエンティティをエスケープします。

  • getVideoは、まったく何も取得しない関数にとって貧弱な名前です。

+0

omg ..私は気づいていませんでした.. thx – OhSnap

1

提供したコードがすべて実行されている場合は、何も起こりません。

あなたはという名前の関数getLinkを明示的にと呼んでいません。

追加:あなたの終わり中括弧の後

getLink(); 

ラインが正常に実行されます。

0

divをページに置き、divにリンクを追加してください。また、innerHTMLの代わりにinnerTextを使用してみてください。

var div = document.getElementById("div1"); 
if (div) 
{ 
    var a = document.createElement('a');  
    a.title = "text";    
    a.innerText = a.title;    
    a.href = "http://example.com";    
    div.appendChild(a); 
} 
+0

さて、ここでは「innerText」が間違いなく適しています。 –

関連する問題