我工作的一个功能:创建一个变量来等于一个动态创建的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')
?
感谢
更新1个
制作瓦尔全球然后本地(使用charlietfl答案):
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谢谢:) – ThisGuyHasTwoThumbs
既然你让它们在函数中是局部的,它们在那个函数之外是没有用的,因此你根本就不需要它们。 –
@ANS *“完全不需要它们”*是主观的......取决于它们中的任何一个可能在dom中被查询的次数。我同意基于显示的基本代码,但也不知道实际代码是否更复杂。至于在外面宣布他们没有任何理由,这是 – charlietfl