2009-09-29 1 views
6

私はこのようなスパンタグがある場合:

<span>Hi<br />SecondLine</span> 

をそして、私はこのjQueryの関数を呼び出す:

var html = $('span').html(); 

HTMLに設定されています。今

Hi<br>SecondLine 

、私は名前を実現関数のxhtml()ではなくhtml()です。しかし、これは期待される行動ですか?私はそれを頼りにすることができ、または私はなかれ、この例では、と言うでは、XHTMLのBRタグとHTMLのBRタグをチェックする必要があります:

function br2nl(text) { 
    return text.replace(/<br \/>/gi, '\n').replace(/<br>/gi, '\n'); 
} 
+2

あなたのドキュメントはおそらくHTMLとして扱われ、XHTMLとしては扱われません。 – Gumbo

+0

Firefoxが小文字を返し、IEが大文字を返すので正規表現に大文字小文字のinsensitve節を追加 – slolife

答えて

9

それはしません。ブラウザのDOMを変更するだけです。

innerHTMLを使用している場合は、DOMをHTMLまたはXHTMLにシリアル化するのはブラウザによって異なります。異なるブラウザが異なる動作をします。

3

すべてのブラウザは、DOMツリーを構築する際にHTMLコードを正規化します。したがって、javascriptはすでに正規化されたDOMへのアクセスを取得します。すべてのタグが正しく閉じられているなど。

関連する問題