0

HTMLDOM操作は初めてです。簡単な例でも失敗しました。

これが私のコードです:

<h1>head 1</h1>
<h2>head 2</h2>
<script type="text/javascript">
var h1 = document.getElementsByTagName('h1');
alert("tagName : "+h1.getTagName());
h1.parentNode.removeChild(h1);
</script>
<h3>head 3</h3>

上記のコードは、「アラート」を出力しません。

私も試しました:

alert("nodeType: "+h1.nodeType);
alert("nodeName: "+h1.nodeName);
alert("nodeValue: "+h1.nodeValue);
alert("tagName: "+h1.tagName);

ただし、それらはすべて応答しundefinedます。

4

3 に答える 3

3

パラメータの前後の引用符を忘れました:

var h1 = document.getElementsByTagName(h1);

する必要があります:

var h1 = document.getElementsByTagName('h1');

Firebugを使用していますか?そうでなければ、あなたはすべきです。このエラーが発生したことが通知されます。

于 2012-12-12T02:19:39.793 に答える
1

このサイトは本当に便利です。 http://www.w3schools.com/jsref/dom_obj_node.asp

それを理解したら、必ずjqueryまたは他のライブラリを使用してdomを操作してください(作業が楽になります):http: //jquery.com/

<h1>head 1</h1>
<h2>head 2</h2>
<script type="text/javascript">
var h1 = document.getElementsByTagName('h1')[0];
alert("tagName : "+h1.localName);
h1.parentNode.removeChild(h1);
</script>
<h3>head 3</h3>
于 2012-12-12T02:26:32.560 に答える
0

そのはず:

var h1 = document.getElementsByTagName('h1')[0];

説明:

getElements ...(sに注意)を使用するときはいつでも、実際に配列を取得します。[0]後に使用するvar h1 = document.getElementsByTagName('h1')ことで、実際にはTagName='h1'の最初の要素を取得することを意味します

他のオプションは、この配列をループしてから使用するかh1[i](たとえば)、実際に使用されているときにこの配列の適切なメンバーを選択することです-

alert("tag name: ",h1[0]);

比較のために、使用getElementByIdすると1つの要素しか取得できないため、直接使用できます。

于 2012-12-12T03:06:04.867 に答える