1

私の質問は、タイトルでほとんど説明されていました。Javascript テキスト ノード内で HTML タグを取得するにはどうすればよいですか? ページ上の私のコードの結果は...

<a href="http://www.example.com">Click Here</a>

ただし、「ここをクリック」をリンクにしたい。私はJavascriptが初めてなので、これは私を大いに助けてくれます。以下は、私が話していることの例です...

<div id="mydiv">
</div>
<script type="text/javascript">
var mynode=document.createTextNode('<a href="http://www.example.com">Click Here</a>');
document.getElementById('mydiv').appendChild(mynode);
</script>
4

4 に答える 4

7

テキスト ノードにリンクを配置することはできません。リンクは要素です。要素には (場合によっては) テキスト ノードを含めることができますが、その逆は当てはまりません。

要素を作成し、それに属性を設定してから、その要素にテキストを追加する必要があります。

var link = document.createElement('a');
link.setAttribute('href', 'http://www.example.com');
link.appendChild(document.createTextNode('Click Here'));
document.getElementById('mydiv').appendChild(link);
于 2012-06-04T20:55:13.003 に答える
1
<div id="mydiv">
</div>

<script type="text/javascript">

    var element = document.createElement('a');
    element.setAttribute("href","http://www.example.com");
    element.appendChild(document.createTextNode('Click Here'));
    document.getElementById('mydiv').appendChild(element); </script>

</script>
于 2012-06-04T21:05:41.197 に答える
0

あなたが探しているのはdocument.createElementではなくdocument.createTextNodeです。テキストノードに HTML を含めることはできません。

複雑な Javascript を使用していない場合 (使用していないように思われる場合) の簡単な代替方法は次のとおりです。

document.getElementById('mydiv').innerHTML.='<a href="http://www.example.com">Click Here</a>';
于 2012-06-04T20:56:03.050 に答える