0

ここにあるような例を実行するには、何を追加する必要がありますか: Converting HTML string into DOM elements? 基本的な HTML ドキュメントで?

具体的には、次のコードを参照しています。

var xmlString = "<div id='foo'><a href='#'>Link</a><span></span></div>"
  , parser = new DOMParser()
  , doc = parser.parseFromString(xmlString, "text/xml");
doc.firstChild // => <div id="foo">...
doc.firstChild.firstChild // => <a href="#">...

私が試してみました:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
var xmlString = "<div id='foo'><a href='#'>Link</a><span></span></div>"
  , parser = new DOMParser()
  , doc = parser.parseFromString(xmlString, "text/xml");
doc.firstChild;
doc.firstChild.firstChild;
</script>
</body>
</html>

JavaScript の初心者として、HTML の完全なコピー アンド ペースト ソリューションがどの程度正確に適合するかを確認するのに適しています。

4

2 に答える 2

1

これが必要かどうかはわかりませんが、jQuery(またはjavascript)をオンラインで実行する場合は、http://jsfiddle.net/を使用できますが、スクリプトを実行するときは、参照されているすべての変数と要素があります。

于 2012-05-28T18:06:40.557 に答える
1

コメントは、プロパティから取得する値を説明しようとしているだけです。// =>いずれの場合も、マークアップの一部を表すDOMオブジェクトです。

それらの値で何をしたいかはあなた次第です。ガイダンスについては、https ://developer.mozilla.org/en/DOMを参照してください。

しかし、あなたは単にそれらを次のように出力することができますconsole.log

console.log(doc.firstChild);
console.log(doc.firstChild.firstChild);

または、ページ上の要素に詳細を表示します。

document.getElementById('foo').innerHTML = doc.firstChild.nodeName;

または、他の多数のタスクのいずれか。


コンテキストの場合:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
    </head>
    <body>
        <div id="foo"></div>

        <script>
            var xmlString = "<div id='foo'><a href='#'>Link</a><span></span></div>"
              , parser = new DOMParser()
              , doc = parser.parseFromString(xmlString, "text/xml");

            console.log(doc.firstChild);
            console.log(doc.firstChild.firstChild);

            document.getElementById('foo').innerHTML = doc.firstChild.nodeName;
        </script>
    </body>
</html>
于 2012-05-28T18:08:05.707 に答える