我有一系列列表项,其中包含用于存储信息的数据属性,例如:
<li data-name="John Doe" data-age="42" data-gender="male">...</li>
我正在使用该信息来填充使用 jQuery 注入的弹出框,并且我需要将信息存储到与每个列表项对应的变量中。我正在使用.click()
将弹出框附加到列表项,然后将其淡入。但是当我试图在函数中包含变量以限制它们的范围时,我的代码停止正常工作。这是我所拥有的一个粗略示例:
var person = $('#list li');
person.click( function() {
var name = $(this).attr('data-name'),
age = $(this).attr('data-age'),
gender = $(this).attr('data-gender');
$(this).children('div.foo').fadeIn();
})
.append(
'<div class="foo">
<dl>
<dt>Name:</dt>
<dd>' + name + '</dd>
<dt>Age:</dt>
<dd>' + age + '</dd>
<dt>Gender:</dt>
<dd>' + gender + '</dd>
</dl>
</div>'
);
关于为什么这不能像我想要的那样工作的任何想法?