勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

jQueryで後から追加した要素にhasClass / addClass / removeClassを使用した際の挙動

  jQuery JavaScript

jQueryで後から追加した要素にhasClass / addClass / removeClassを使用したいというケースがあった。イベントを割り当てたい場合「$(document).on('click', 'セレクタ' , function() {」のような形で記述することになるが、この辺りがどうなるのかメモ。

 

ソースコード

hasClass

普通に動作する。描写前だと当然falseになる。

<div id="test_area"></div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    console.log($(`#test_btn`).hasClass(`btn`)); //false(描写前のため)

    $(`#test_area`).html(`<button id="test_btn" class="btn">button</button>`);

    console.log($(`#test_btn`).hasClass(`btn`)); //true
});
</script>

addClass

これも普通に動作する。

<div id="test_area"></div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    $(`#test_area`).html(`<button id="test_btn" class="btn">button</button>`);

    $(`#test_btn`).addClass(`btn2`); //<button id="test_btn" class="btn btn2">button</button>に書き換わる
});
</script>

removeClass

これも普通に動作する。

<div id="test_area"></div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    $(`#test_area`).html(`<button id="test_btn" class="btn">button</button>`);

    $(`#test_btn`).removeClass(`btn`); //<button id="test_btn" class="">button</button>に書き換わる
});
</script>

 

所感

試してみる前の時点ではイベントを割り当てる場合のようにちょっと面倒くさい書き方をしないといけないのかと思ったが普通の書き方で良いみたい。

 - jQuery JavaScript

  関連記事

jQueryでjsonデータを処理(parseJSON)
jQueryでjsonデータを処理(parseJSON)

他社が作成したシステムのちょっと改修案件があった。設置したもののどうも動かないと ...

表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法
表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法

どこかのサイトを閲覧していた際に、恐らくはJavaScriptのライブラリで描写 ...

Lightboxで画像拡大時に閉じるボタンの位置を右上に変更
Lightboxで画像拡大時に閉じるボタンの位置を右上に変更

Lightbox(バージョン2.7.1)で画像拡大時に閉じるボタンの位置を右下か ...

FormDataを使ったAjax通信がiPhoneのみエラー
FormDataを使ったAjax通信がiPhoneのみエラー

FormDataオブジェクトを使用したAjax通信するシステムがあり、PCやAn ...

tableタグ内のデータをCSV形式でダウンロードできる「jQuery-csvExport」ライブラリの使用方法
tableタグ内のデータをCSV形式でダウンロードできる「jQuery-csvExport」ライブラリの使用方法

HTMLのtableタグ内のデータをCSV形式でエクスポートさせたいケースがあっ ...