8105


jQueyのaddClass()を使いたいのですが、

[code]

    $("#svg_textarea").addClass( "hoge" );
    
[/code]

とやるとうまくいくものの、

[code]

    $("#svg_textarea")[0].addClass( "hoge" );
    
[/code]

とやるとうまくいきません。  
HTMLElementに対してaddClass()を使うにはどうしたらいいのでしょうか？

というかそもそもjQueryを良くわかってないで使ってるからこういう所で躓く。  
$("#svg_textarea")は配列のような物と理解しているんですが、その理解が違ってますか？


CC BY-SA 3.0
2015-03-19T05:48:46.583
8104
2015-03-19T06:07:30.240
705
question
jquery
jQueryでHTMLElementに対してaddClass()を行いたい


`eq()`を使います。

[code]

    $('#svg_textarea').eq(0).addClass('hoge');
    
[/code]

ちなみにですが、`id`指定は複数要素となる場合は使用しません(CSSの話になります)。  
複数の要素に対して指定したい場合は`class`指定をする必要があります。

[code]

    $(document).ready(function() {
        // 一番目の要素にだけクラスを追加
        $('.svg_area').eq(0).addClass('hoge');
    });
[/code]

[code]

    .svg_area {
        width: 100px;
        background: #aaccff;
    }
    .hoge {
        background: #ddaaee;
    }
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    
    <div class="svg_area">aaa</div>
    <div class="svg_area">aaa</div>
    <div class="svg_area">aaa</div>
[/code]


CC BY-SA 3.0
2015-03-19T05:50:25.870
8105
2015-03-19T06:07:30.240
2015-03-19T06:07:30.240
7214
7214
8104
answer