2022年04月24日

jquery:empty()

このメソッドの説明

empty()はjQueryメソッドです。

要素の中身(子要素)を空にする時に利用します。

 


メソッド

セレクタ.empty()

 


パラメータ

なし

 


利用例

下記事例は、セレクト要素の中身を[中サイズから大サイズ]に書き直すサンプルです。

選択肢を確認後、更新ボタンを挿入して下さい。

ウェストサイズ(中)


上記プログラムは下記から構成されています。

1.HTML

<input type='hidden' class='option_data' name='ウェストサイズ(大)' value='80,84,88'> <!-- ①HTMLからjQueryに受け渡すデータ-->
<div class='option_title'>ウェストサイズ(中)</div> <!-- ②タイトルエリア -->
<select class='select_class'> <!-- ③セレクトBOXのデータです。これを書き換えます -->
	<option value='#none#'>選択してください</option> 
	<option value='70'>70</option> 
	<option value='74'>74</option> 
	<option value='78'>78</option> 
</select>
<br>
<div style='display:flex;'>  <!-- ④操作ボタン -->
	<button class='edit_button' style='margin-top:10px;'>更新</button>
	<button class='reset_button' style='margin-top:10px;margin-left:10px;'>リセット</button>
</div>
<div class='message' style='color:red;'></div>  <!-- ⑤メッセージエリア -->

①inputタグの[type='hidden'] で、HTMLからjQueryに受け渡すデータを定義しています。

②タイトルエリアです。

これをjQueryでウエストサイズ(大)に書き換えます。

③デフォルトのセレクトデータは70、74、78です。

これをjQueryで80、84、88に書き換えます。

④更新ボタンとリセットボタンを配置しています。

⑤更新した時にメッセージを表示するエリアです。

 

2.jquery

更新ボタンが押されたら、セレクトBOXのエリアを空にして書き換えます。

$(function(){
	$('.edit_button').click(function(){
		var option_title	= $('.option_data').attr('name'); // ①オプションタイトルの取得
		var option_data = $('.option_data').attr('value');  // オプションデータの取得
		$('.option_title').text(option_title);      // オプションタイトルの書き換え
		var option_list = option_data.split(','); // ②オプションデータを配列(添字配列)に変換する
		$('.select_class').empty();                  // ③オプションを空にする
		$('.select_class').append('<option value="#NONE#">選択してください</option>');
		for (var item of option_list) {  // ④for of メソッドで配列から1個ずつ呼びだして処理しています
			$('.select_class').append('<option value="'+ item + '">' + item + '</option>');
		}
		$('.message').text('オプションデータを更新しました。データを確認して下さい。'); // メッセージの出力
	});
	$('.reset_button').click(function(){
		location.reload();  // ⑤画面を再ロードしています。
	});
});

attr()は、HTMLの属性値を取得するメソッドです。詳細はリンク先を見て下さい。

split()は、文字列を指定した区切り文字で分割して配列にするメソッドで、詳細はリンク先を見て下さい。

empty()は、このドキュメント対象メソッドで、子要素を空にします。

for of メソッドは、配列から1個ずつ呼びだして処理メソッドで、詳細はリンク先を見て下さい。

append()は、子要素の最後に追加するメソッドで、詳細はリンク先を見て下さい。

location.reload()は、画面をリフレッシュするメソッドです。詳細はリンク先を見て下さい。

 

 メモ

上記の事例ではHTMLからjQueryにデータを渡す手段として下記を使いました。

<input type='hidden' class='option_data' name='ウェストサイズ(大)' value='80,84,88'>

上記はinputタグを非表示にして渡したのですが、形を持たないspanタグやdivタグを使う方法もあります

<span class='option_taget' option_name='my_option' option_data='80,84,88'></span>
又は
<div class='option_taget' option_name='my_option' option_data='80,84,88'></div>

上記の[option_name]や[option_data]はユーザ属性で、これもattr()で読み込むことができます。

 

関数一覧
  • 1.JavaScript/jQueryとは
  • 2.[JS] 変数規則と文字連結
  • 3.[JS] if文
  • 4.[JS] 配列操作
  • 5.[JS] 文字列操作
  • 6.[JS] 画面情報&操作
  • 7.[JS] Timer処理
  • console.log()
  • for
  • for in
  • for of
  • indexOf()
  • join()
  • length
  • map()
  • match()
  • Object.keys()
  • Object.values()
  • parseInt()
  • pop()
  • push()
  • replace()
  • shift()
  • slice()
  • split()
  • toString()
  • unshift()
  • 1.jQueryの導入と記述の基本
  • 2.jQueryの機能追加
  • 3.jQuery文法
  • 4.階層構造の要素セレクトと操作
  • 5.要素サイズ取得メソッド
  • animate()
  • append()
  • attr()
  • change(func)
  • click()
  • click(func)
  • css()
  • each(func)
  • effect()
  • empty()
  • fadeTo()
  • get()
  • hover(f1,f2)
  • html()
  • map(func)
  • mousedown(func)
  • prop()
  • resize(func)
  • show()、hide()
  • slideToggle()
  • submit()
  • submit(func)
  • text()
  • toggle()
  • toggleClass()
  • val()