2016-10-07 25 views
3

createElement()を使用してアンカー要素を作成しました(chromeとfirefoxの両方の開発者ツールで)、要素をコンソールに表示しようとすると空白になります。 div要素の作成で同じことをしようとすると、コンソールに表示された要素が正しく表示されます。以下は実際のコードと出力です。これの理由は何ですか?アンカー要素は、[object HTMLAnchorElement]として出力してはいけませんか?アンカー要素の作成javascript

コード:クローム開発ツールのコンソールで

var anchor = document.createElement(‘a’) 
console.log(‘anchor: ‘ + anchor) 

出力

コード:

var div = document.createElement('div') 
console.log(‘div: ‘ + div) 

出力 div:[オブジェクトHTMLDivElement]

+0

これらの引用符は何ですか? – epascarello

+0

これは文字列リテラルです。 – raj

+0

クロムでそれらを使用すると、「Uncaught SyntaxError:Invalid or unexpected token」というエラーが発生する可能性があります。 – epascarello

答えて

1

アンカーはコンソールが間違っているだけです。

文字列をオブジェクトに連結し、anchor.toString()は空の文字列を返しますが、DIVの場合は[object HTMLDivElement]を返します。

だけ別々

var anchor = document.createElement('a') 
console.log('anchor: ') 
console.log(anchor) 

または

var anchor = document.createElement('a') 
console.log('anchor:', anchor) 

区切り文字としてカンマを使用し、それらを記録し、あなたがオブジェクトとしてオブジェクトをログに記録しますいずれか、正しくコンソールを使用し、それを解決するために、文字列ではありません

+0

アデネオに感謝します。また、anchor.toString()が[object HTMLAnchorElement]を返さない理由を理解したいと思います。これを明確にするための参考資料はありますか?私は何も見つけることができませんでした。 – raj

+0

@raj - なぜ文字化されたときに返されるべきものだと思うのですが、そうではありません。 – adeneo

関連する問題