dポイントプレゼントキャンペーン実施中!

classList を使用して、新規で div タグに class 名を付けようと思っています。
div に id 名を付け、それを対象とした場合は、class 名は付きますが、
id名を含めない タグのみでは、class 名は付かないのでしょうか?

コードは以下記述の通りです。
ご回答どうぞよろしくお願いいたします。

<html>
<head></head>
<body>
<div id="hoge">class-name on tag.</div>

<script>
var dom = document.getElementById( 'hoge' );
//以下のように使えるなら理想です。
//var dom = document.getElementByTagName( 'div' );
dom.classList.add( 'test' );
</script>

</body>
</html>

A 回答 (2件)

>id名を含めない タグのみでは、class 名は付かないのでしょうか?


要素を特定できていれば、同じ方法で設定することが可能です。

getElementsByTagName()を利用した場合、返されるのは要素配列ですので、配列として処理するようにしてください。


>dom.classList.add( 'test' );
簡略化した記述法をしたければ、jQueryなどを利用することでユーザが利用しやすい形での記法が用意されていますので、少し記述は違いますがイメージなさっているようなことも可能です。
ご提示のイメージの場合、
 $(".hoge").addClass("test");
みたいな記述で実現できると思います。
(クラスで選別した要素群にクラス名を設定することは、実質的にはあまりないと思いますが。)
    • good
    • 0
この回答へのお礼

getElementsByTagName()が配列というのは、勉強になりました。
回答ありがとうございます。

お礼日時:2013/06/26 22:38

divが1つなら



var dom = document.querySelector('div')

もしくは

var dom = document.getElementsByTagName('div')[0]
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/06/26 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!