我正试图想出某种 foreach 循环,它循环浏览页面上的一些隐藏值,通过ajax与外部api进行比较,然后打印api结果< ul> f.ex。
ITEM1
metavalue (which needs to be queried agains API)
/ITEM1
ITEM2
metavalue (in case there's more ITEMS on the page I need the foreaach loop)
/ITEM2
......等等
如何识别页面上的对象,以便我可以正确循环 通过他们?
如何从API中定位结果列表? (如果有记录。)
如果脚本无法在页面加载时触发,我可以将其绑定到
按钮?
答案 0 :(得分:0)
您可以隐藏data
字段中的信息,例如<div data-foo="bar"></div>
,并使用$('.some-class).each($(this.data('foo'))
<div class="hid" data-foo="bar1">
<div class="hid" data-foo="bar2">
<div class="hid" data-foo="bar3">
$('.hid').each(function() { console.log($(this).data('foo'))});
然后你发送多个ajax请求,并在返回所有这些请求后(详情请参阅https://api.jquery.com/jquery.when/),你在循环中创建html字符串并将其附加到某些<div id="result></div>
var list = '<ul>';
for (var i = 0; i < res.length; i++) {
list += '<li>' + res[i] + '</li>';
}
list += '</ul>'
$('#result).append(list);
您可以使用window.onload
加载脚本,或使用$('#button-id').on('click', runFunction);