instanceofが失敗する
テキストノードだと普通は instanceof Text とすると true が返ってくれるのだけど、エラーになることもあるんだ。
ここで適当にノードを拾って instanceof Text をやろうとすると、以下のようなエラーが。(Opera の場合)
JavaScript - http://la.ma.la/blog/ Javascript URL thread: "javascript:var a=document.getElementsByTagName('p')[0].firstChild;alert(a instanceof Text);void(0);" Error: name: TypeError message: Statement on line 1: Second argument to 'instanceof' does not implement [[HasInstance]] Backtrace: Line 1 of unknown script var a=document.getElementsByTagName('p')[0].firstChild;alert(a instanceof Text);void(0); stacktrace: ...
よくわからん。Text オブジェクトのプロパティで HasInstance が無いとダメってことかな?
しかも他のサイトでは大丈夫なのに何故ここだけ?
うーん。
Firefox だったら下のようなエラー。
Error: invalid 'instanceof' operand Text Source File: javascript:var%20a=document.getElementsByTagName('p')[0].firstChild;alert(a%20instanceof%20Text);void(0); Line: 1
Safari なら false とアラートが出るな。しかし nodeName だとちゃんと #text なのに…