我通常会像这样进行JSON调用:
$.getJSON(url, function(data){
var productsHtml = '';
$.each(json.products, function(index, product){
然后,我可以像这样构建我的 HTMl:
productsHtml = '<div>'+ product.name +'</div>';
我想知道如何做到这一点,当你只有一个产品要循环时。通常,您需要将"数据"放在元素前面。这样:
$.getJSON(url, function(data){
var productsHtml = '<div>'+ data.product.name +'</div>';
问题是我需要把"数据"放在 product.name 前面。有没有办法让我不需要在产品名称前面使用"数据",只需输入"product.name"即可?
不要问我为什么,我只是想知道。我找到了一个有相同问题的帖子,但我无法弄清楚如何处理上面的例子!
jQuery/JavaScript 等效于单个元素的 each()?
使用with
但这不是一个建议的做法。
在这里查看原因 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with#Description
with(data){
var productsHtml = '<div>'+product.name +'</div>';
}