質問するログイン新規登録
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

HTML

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

Q&A

解決済

2回答

2720閲覧

hiddenの値を取得して一致した要素を削除したい

meron88

総合スコア50

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/10/22 02:16

編集2021/10/22 02:16

0

0

前提・実現したいこと

inputのhiddenで保持しているvalueの値が一致した、input要素を削除したいのですが、
hiddenの値もundefinedで取得できずに困っています。
知恵をお貸しいただきたいです。よろしくお願いいたします。

該当のソースコード

html

1<input type="hidden" name="code[]" class="code" value="A"> 2<input type="hidden" name="code[]" class="code" value="B"> 3<input type="hidden" name="name[]" class="name" value="太郎"> 4<input type="hidden" name="name[]" class="name" value="花子">

javaScript

1let code = "A"; ←消したい対象の値 2let name = "太郎"; ←消したい対象の値 3 4const element = document.getElementsByClassName('code').value; 5element.remove();

試したこと

getElementsByClassNameを使用

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

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

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

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

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

guest

回答2

0

ベストアンサー

document.getElementsByClassName('code') は該当する複数の要素を返すので、それぞれの value をチェックする必要があります。

js

1for (let element of [...document.getElementsByClassName('code')]) { 2 if (element.value == code) 3 element.remove(); 4}

querySelectorAll()valueの値も条件に加えてもいいですね。

js

1for (let element of document.querySelectorAll(`input[name="code"][value="${code}"]`)) 2 element.remove();

投稿2021/10/22 02:27

int32_t

総合スコア21933

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

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

meron88

2021/10/22 03:03

こちらのコードでうまくできました! ありがとうございます。
guest

0

getElementsByClassNameが返すのはHTMLCollecitionなので
valueプロパティを持っていません

こんな感じでしょうか?
(hiddenは確認しにくいのでtextに変えてあります)

javascript

1<script> 2window.addEventListener('DOMContentLoaded', ()=>{ 3 var code = "A"; 4 var name = "太郎"; 5 Object.entries({code,name}).forEach(x=>{ 6 [...document.querySelectorAll(`.${x[0]}[value="${x[1]}"]`)].forEach(y=>{ 7 y.remove(); 8 }); 9 }); 10}); 11</script> 12 13<input type="text" name="code[]" class="code" value="A"> 14<input type="text" name="code[]" class="code" value="B"> 15<input type="text" name="name[]" class="name" value="太郎"> 16<input type="text" name="name[]" class="name" value="花子">

投稿2021/10/22 02:26

編集2021/10/22 03:03
yambejp

総合スコア117967

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

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

meron88

2021/10/22 03:03

valueプロパティを持っていないのは理解できていませんでした。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問