[解決済み] document.getElementsByClassName().innerHTML は常に "undefined" を返します。
2022-01-29 09:34:05
質問
どこかで間違えたのか
document.getElementsByClassName().innerHTML
が常に返されます。
未定義
.
まず
<li>
javascriptで。
$('#list').append('<li class="box"><img class="picture" src="images/HotPromo/tagPhoto1.png"/><p class="name"><b>Name</b></p><p class="address">Address</p><p class="hidden"></p></li>');
なお、一番右にある
<p>
要素に
hidden
クラスがあります。私はこれを使って
イド
これはユーザーに見せたくないものです。
そして、これはそれらのデータを生成するためのjQueryです。
<li>
:
$(".box").each(function () {
var name, address, picture, id = "";
if (i < result.length) {
name = result[i].name;
address = result[i].address;
picture = result[i].boxpicture;
id = result[i].mallid;
}
$(this).find(".name").html(name);
$(this).find(".address").html(address);
$(this).find(".picture").attr("src", picture);
$(this).find(".hidden").html(id);
i++;
});
データを確認してみましたが、問題なく動作しています。
では、非表示の
イド
<p>
のいずれかをクリックすると
<li class="box">
で生成される。
$(".box").click(function () {
alert(document.getElementsByClassName('hidden').innerHTML);
});
しかし、このアラートは常に " を返します。 未定義 となります。
解決方法は?
document.getElementsByClassName()
は要素ではなく、ノードリストを返します!
ということは、:
document.getElementsByClassName('hidden')[0].innerHTML
そして、おそらくもっと多くの
.hidden
要素の中にあるものだけが必要であり、現在の
.box
(となる)。
this
イベントハンドラで)
this.getElementsByClassName('hidden')[0].innerHTML
しかし、なぜjQueryではないのか
$(".box").click(function(){
alert( $('.hidden', this).html() );
});
関連
-
[解決済み】JavaScriptのgetElementByNameが機能しない
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] jQueryを使用してdivのinnerHTMLを置き換えるには?
-
[解決済み] CSSは常にJavascriptより優先されるべきか?
-
[解決済み】未定義のオブジェクトプロパティを検出する
-
[解決済み] ブラウザがファイルのダウンロードを受信したことを検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】React-Routerの子が1つしかない。
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]