我的页面上有一个 Pane ,其中包含几个 <ul>
's ,在每个有序列表中,其中一个列表项是已字符串化的经纬度对象。当我单击有序列表标题时,我需要将字符串转换为 JSON 对象。
$.each(dealers, function (i, obj) {
$listSelector.append("<ul class='dealer-summary-list'>" + "<li class='dealerName'>" + obj.title + "</li>" + "<li class='dealer-summary-listItem'>" + obj.address + "</li>" + "<li class='dealer-summary-listItem'>" + obj.locale + "</li>" + "<li class='dealer-summary-listItem'>" + obj.location.lat + ', ' + obj.location.lng + "</li>" + "<li class='dealer-summary-listItem'>" + obj.phone + "</li>" + "</ul>")
});
最佳答案
为您的 UL 元素分配一个自定义属性,该属性指示经销商数组中相应经销商的索引。
不解析 li 元素,而是获取自定义属性并使用它从数组中检索经销商对象
例如在元素创建脚本中
$.each(dealers, function (i, obj) {
$listSelector.append("<ul dealerindex='"+i+ "' class='dealer-summary-list'>" + "<li class='dealerName'>" + obj.title + "</li>" + "<li class='dealer-summary-listItem'>" + obj.address + "</li>" + "<li class='dealer-summary-listItem'>" + obj.locale + "</li>" + "<li class='dealer-summary-listItem'>" + obj.location.lat + ', ' + obj.location.lng + "</li>" + "<li class='dealer-summary-listItem'>" + obj.phone + "</li>" + "</ul>")
});
在解析脚本中 var idx = parseInt( $(this).attr("dealerindex")); var location= 经销商[idx].location;
关于javascript - 如何将 UL 列表项转换为 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42300725/