2012-05-08 14 views
1
var 
    parser = new DOMParser(), 
    d = parser.parseFromString('<?xml version="1.0"?><div class="a">Hello</div>', 'application/xhtml+xml'); 

console.log(d.querySelector('*')); 
console.log(d.querySelector('div')); 
console.log(d.querySelector('div.a')); 

最初の2つのセレクタが解析HTML文字列から

最後のセレクタを作業....クラスセレクタ.... nullを返します:(

任意のアイデアなぜ?

。これはAJAXからHTML結果を照会し、そしてそうするためにメインDOMに追加したくない必要が

答えて

2

は、それを試してみてください。

console.log(d.querySelector('div[class=a]')); 
+0

あなたの作品は動作します。誰かがこの回答を私のものよりも高く投票します! :) –

+0

これ以上いいえ、私はあなたの答えを投票しました:) –

+0

div.aを使用して無効なセレクタが使用されているため、Markはあなたのメソッドの動作を行いますか? div [class = a]は有効ですか?私はちょっと調べてみましたが、私はこの用語が何であるかは100%ではありません... div.aが有効なCSSの例を続けています。 –

3

あなたのhtml/xmlが無効なためです。変更を試みてください</a>から</div>

+1

ありがとうございました。私はHTMLタグを投稿に表示させる方法を知らなかった。そして、私はマーク・リウスに申し訳ありません。私は最初に、比類のないタグを見た。 –

+0

OK、問題ありません:) –

+0

おっと。ピックアップありがとう。問題を修正することはできませんが、Mark Linusは答えがあると思います。 – user537339