ラジオボタンがチェックされているかどうかに基づいて、いくつかの異なるラベルをループして内容を非表示にしたいと考えています。これは私が思いついた解決策ですが、私はコンソールでエラーが発生し続けます。ループから実行するときに.hide()が関数エラーではない
var hazardOptions = $(".js-hazardous-option");
var hazard = $("input[name=Hazardous]");
for (var i = 0, len = hazard.length; i < len; i++) {
if (hazard[i].id === "HazardousYes" && hazard[i].checked) {
for (var ii = 0, length = hazardOptions.length; ii < length; ii++) {
hazardOptions[ii].show();
}
} else if (hazard[i].id === "HazardousNo" && hazard[i].checked) {
for (var iii = 0, leng = hazardOptions.length; iii < leng; iii++) {
hazardOptions[iii].hide();
}
}
}
私が手にエラーがある:
非表示は()関数ではありません
わからない、私はのためにオンライン外観を持つ試みたものを私が欠けています同様の問題だが運がない。私はかなり問題がここにあることを確信しています:hazardOptions[iii].hide();
しかし、本当になぜ、そして/またはそれをどのように修正するかはわかりません。
あなたは投稿できますあなたのHTML?それがなければ、何が間違っているのかを知ることは難しいです。 – Nisarg
IIRCがインデックス経由で配列オブジェクトにアクセスすると、JQueryオブジェクトではなくDOM要素が得られます。 – musefan
hide()/ show()は、JQuery関数です。これを有効にするには、実質的に '$(hazardOptions [iii])。hide();'を実行する必要があります。それらをJavascript変数に適用しようとしています。 – yanman1234