javascript - 如何将 UL 列表项转换为 JSON 对象?

标签 javascript jquery json

我的页面上有一个 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/

相关文章:

java - JSON解析错误: Unexpected character (s) at position 226025

javascript - AngularJS/JavaScript 从另一个对象创建新对象

javascript - 使用 PHP 从动态输入字段获取值并存储到数据库

javascript - 如何通过jquery更改标签值

javascript - 如何在每次滚动时触发此动画

jquery - 需要改变属性值

javascript - 我如何覆盖 Angular 对无效表单值的过滤,强制 Angular 将 $viewValue 保留为 $modelValue?

javascript - 使用 $index 更改 active-slide 后没有 ion-slide-box 更新

javascript - 如何隐藏 Jquery UI 对话框上的按钮

database - 通过 http 和 json 同步 2 个 sqlite 表的最佳方法是什么?