🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

990閲覧

初心者:JSで家計簿アプリを作っていてulタグに情報をtableタグを用いてappenchildしたいです。

Suffenjoying

総合スコア10

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2021/02/23 03:12

前提・実現したいこと

初心者です

ここに質問の内容を詳しく書いてください。
Javascript を使って簡単な家計簿を作っています。

該当のソースコード

ソースコード <body> <header class="header">Expense Tracker</header> <div class="container"> <div class="navbar"> <form class="form"> <label class="label-date">Date: <input type="date" id="date" name="date"> </label> <label class="where">Where: <input type="where" id="where" name="where"> </label> <label class="what">What: <input type="text" id="what" name="what"> </label> <label class="price">Price: <input type="text" id="price" name="price"> </label> <label class="submit"> <input type="submit" id="submit" name="submit"> </label> </form> </div> <div class="mainbar"> <p class="bought">Things You've Bought</p> <table class="table" border="1"> <tr> <th>Date</th> <th>where</th> <th>What</th> <th>Price</th> </tr> <ul class="ullists" id="ullists"> </ul> </table> </div> <script src="app.js"></script> </body>
JS const $docs = document; const $submit = $docs.querySelector('input[name=submit]') const $form = $docs.querySelector('form') const $ul = $docs.getElementById('ullists'); $submit.addEventListener('click', e => { e.preventDefault() const $date = $docs.querySelector('input[name=date]').value const $where = $docs.querySelector('input[name=where]').value const $what = $docs.querySelector('input[name=what]').value const $price = $docs.querySelector('input[name=price]').value var row_items = $docs.createElement('tr') const lists = [] lists.push($date, $where, $what, $price) for(let i = 0; i < lists.length; i++) { var row = $docs.createElement('td') row.innerHTML = lists[i] } row_items.appendChild(row) $ul.appendChild(row_items) console.log(row_items); $form.reset() })

試したこと

submitボタンを押したときに、その情報を取得して、htmlに表示したいです。
なので、その情報をテーブルに入れてulにappendchildすることで表示したいのですが、
for分の所でおそらく引っかかっているのだと思います。
この場合どういった方法でulにappendしたほうがいいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

回答がつかないようなので

表示させたい部分は、テーブル構造の中です。
リスト構造では整合性がとれません。
でもスクリプトでは、テーブル構造にしようとしています。

row_items.appendChild(row)
これはループの中に記載します。

$ul.appendChild(row_items)
これは、本来であれば <ul> でなく <tbody>にすべきです。

insertRow, insertCell を調べてみてください

投稿2021/02/24 14:23

babu_babu_baboo

総合スコア616

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問