0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【jquery,js】文字列をリストタグで表示する[onload,append,html,Dom操作] [js15_20210330]

Posted at

処理の概要

テキストエリアに表示した文字列をリストタグで表示する

処理のフロー:

 (1)init()メソッドにてテキストエリアに文字列を挿入する
 (2)ボタン押下後、文字列を取得し、スペースでデリミタする
 (3)リストタグを生成し、デリミタした要素をテキスト挿入する
 (4)生成したhtmlタグをテキストエリアに表示する
 (5)リストをhtml()メソッドにてdom操作する

画面イメージ

#####画像1

#####画像2

ソースコード

index.html
<link rel="stylesheet" href="./css/default.css">
</head>
<body onload="init()">
	<textarea id="initString"></textarea><br>
	<input type="button" id="listMakeButton" value="リストを生成する"><br>
	<textarea id="listHtmlMake"></textarea><br>
	<div id="listDisp"></div>
</body>
main.js
$(function() {
    $("#listMakeButton").click(function(){
        var text = $("#initString").val();
        var lobjArr = text.split(" ");
        var ul = $("<ul>");
        
        // 配列用にインデックスを調整する
        for (var i= 0; i < (lobjArr.length - 1); i++){
            //タグの生成
            var li = $("<li>");
            //リストタグに配列から取得したテキストを挿入する
            li.text(lobjArr[i]);
            ul.append(li);
        }

        var div = $("<div>").append(ul);
        //htmlをテキストエリアにそのまま挿入する。
        $("#listHtmlMake").val(div.html());
        $("#listDisp").html(ul);
    })
});

function init(){
    var lobjText ="";
    var defaultStr = [
        ["モバイル"],["ランキング"],["Fashion"],
        ["トラベル"],["グループ"],["アカウント管理"]
    ]
    // 文字列の場合は、+で改行。配列の場合は、カンマで改行が可能

    $.each(defaultStr,function(){
        lobjText = lobjText + this + " ";
    })
    $("#initString").val(lobjText);
}

ポイント

html:
(1)htmlが読み込まれる際にonloadにてinit()メソッドを読み込む
js:
(1)自分自身でhtmlタグを挿入出来ないので、div変数を用意し、val()メソッドでdom操作する
(2)同様にul・リストタグを持つ変数を宣言し、タグの中に任意の文字列を挿入する
(3)each構文で取得した要素は、thisで指定出来る

参考資料

JavaScript(仕事の現場でサッと使える!デザイン教科書) p183

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?