を等しくするための変数を作成し、私は機能に取り組んでいます:動的に作成されたDOM要素
var container = $('#container'),
line1 = $('#line1'),
line2 = $('#line2'),
line3 = $('#line3'),
line4 = $('#line4'),
postcode = $('#postcode'),
addressPicker = $('#selector'),
noneOfTheAbove = $('#noneOfTheAbove');
$(document).on('click', '#noneOfTheAbove', function()
{
container.removeClass('hidden');
noneOfTheAbove.addClass('noDisplayElementImportant');
addressPicker.addClass('hidden');
line1.val('');
line2.val('');
line3.val('');
line4.val('');
postcode.val('');
});
これで唯一の問題は、DOMを動的にボタンのクリックで作成されますです。したがって、$(document).ready()のためにこのような変数を使用することはできません。変数に動的DOM要素を割り当てるにはどうすればよいですか?それは$(document).find('#idHere')
のようなものでしょうか?
おかげ
UPDATE 1
作りは(charlietfl答えを使用して)ローカル、グローバルvarsの:彼らは動的であるとして
var container,
line1,
line2,
line3,
line4,
postcode,
addressPicker,
noneOfTheAbove;
$(document).on('click', '#noneOfTheAbove', function()
{
container = $('#container');
line1 = $('#line1');
line2 = $('#line2');
line3 = $('#line3');
line4 = $('#line4');
postcode = $('#postcode');
addressPicker = $('#selector');
noneOfTheAbove = $('#noneOfTheAbove');
container.removeClass('hidden');
noneOfTheAbove.addClass('noDisplayElementImportant');
addressPicker.addClass('hidden');
line1.val('');
line2.val('');
line3.val('');
line4.val('');
postcode.val('');
});
ああ存在しないときにイベントハンドラ内でこれらの変数を定義します!今やとても愚かなようですね。xD Thanks :) – ThisGuyHasTwoThumbs
あなたはそれらを関数のローカルなので、それらはその関数の外では役に立たないので、それらはまったく必要ありません。 –
@ANS *「それらはまったく必要ありません」*主観的です... domの中で何回質問されたかに依存します。表示される基本コードに基づいて同意しますが、実際のコードがより複雑かどうかもわかりません。外部に宣言しても、問題のある理由はありません – charlietfl