所以我喜欢页面上的用户列表。每个用户名都是可单击的,它在对话框中显示用户信息。现在我正在使用静态长度列表。 我希望jquery看看用户列表有多大,并将代码应用到列表中。
点击此处的代码:
$(function() {
var options = {
autoOpen: false,
width: 'auto',
modal: true
};
$([1, 2, 3, 4]).each(function() {
var num = this;
var dlg = $('#dialog-player-' + num).dialog(options);
$('#player-link-' + num).click(function() {
dlg.dialog("open");
return false;
});
});
});
我查看了文档的这一页:each 我尝试的是选择容器“div#parent”中的所有div。像这样:
$(function() {
var options = {
autoOpen: false,
width: 'auto',
modal: true
};
$("div#parent div").each(function() {
var num = this;
var dlg = $('#dialog-player-' + num).dialog(options);
$('#player-link-' + num).click(function() {
dlg.dialog("open");
return false;
});
});
});
但那没用。有人知道其他任何方法吗?
答案 0 :(得分:2)
我注意到您的代码中存在错误并为您修复错误:
$(function() {
var options = {
autoOpen: false,
width: 'auto',
modal: true
};
var num = 1;
$("div#parent div").each(function() {
var dlg = $('#dialog-player-' + num).dialog(options);
$('#player-link-' + num).click(function() {
dlg.dialog("open");
return false;
});
num = num + 1;
});
});
答案 1 :(得分:1)
$(function() {
var options = {
autoOpen: false,
width: 'auto',
modal: true
};
$(['George', 'Ralph', 'Carmine', 'Suzy']).each(function(index, val) {
var num = index;
var dlg = $('#dialog-player-' + num).dialog(options);
$('#player-link-' + num).click(function() {
dlg.dialog("open");
return false;
});
});
});
你第一次有了正确的想法。只需使用每个函数提供的索引。无需单独的柜台。
答案 2 :(得分:0)
在文档中查找“孩子” - 我认为您可能需要使用每个元素而不是您所做的事情来遍历元素的子元素。 e.g。
$( “DIV#父”)。儿童( 'DIV')。每个(函数(){等...})