やりたいこと
javascriptでhtml要素を追加するときに**【一目でわかる様に】**書きたい。
追加するもの
li要素の中にはdiv, input, a,の3つの要素が入れて
ul要素の中にli要素を入れる。
イメージはこんな感じ
li << (div, input, a)
ul << li
ひと目で分かるとは?
javascriptのファイル上で、まるでhtmlファイルを見ている様なコード。
実際のjavascript上のコード
基本方針
- 文末の + で繋げつつ、インデントの様に書く
- 変数以外を文字列として書く
- 変数は扱いが厄介なので後で.findを使って入れる
function appendSeacrhList(name, id){
$(
'<li class="box">' +
'<div class="searched_user"></div>' +
'<input type="hidden" class="user_id" name="" value="">' +
'<a href="javascript:void(0)" class="add_button">追加</a>' +
'</li>'
)
.find('.searched_user').text(name).end()
.find('.user_id').val(id).end()
.appendTo(searched_user_list)
};
この部分で変数name
とid
を埋め込んでます
.find('.searched_user').text(name).end()
.find('.user_id').val(id).end()
※ちなみに
上記の.end()
がめちゃくちゃ大事です。
.find('.searched_user')
した時点で<div class="searched_user"></div>
というオブジェクトのみ取ってくる形になっています。
.end()
することによって1つ戻り、$('<li class="box" ~~~ /li>)
までを取得してきています。
例えば、2つ目の.end()
がなかった場合は
<input type="hidden" class="user_id" name="" value="">
という部分のみappendされることになります。
最後に
rryu様に指摘いただいた方法で書き直させていただきました。
ありがとうございます!
##番外編;最近買った、面白いもの
・ハンターハンター34巻(6/29)
クロロ VS ヒソカとか、どうやっても面白くなるとしか
・カーテン自動開閉ロボット
カーテンレールに付ける4000円のロボット。
これを付けてから目覚ましなしで起きられる率が上がった。
・衛藤美彩 写真集
「綺麗なお姉さん」が好きな人、ちょっと眺めてるだけで幸せになれますよ。