我有一个返回数组字符串的 div:
<div class="overview"><%=getCurrentAttribute('item','item_specs_json','""')%></div>
一个数组字符串,如下所示:
[{"k":"type","v":"blue"},{"k":"size","v":"large"}]
我正在根据这些列表制作项目符号列表,每页有 25 个 div.overview 实例。
这可行,但只会重复每个 div 的第一个项目值。我无法让它循环播放。
我有可能做到这一点吗?
$(function () {
var specs = $.parseJSON($(".overview").html());
$("div.overview").html('<div class="bullet_spec"></div>');
$.each(specs, function () {
$('div.overview div').append('<ul class="specs"><li class="label">' + this.k + ' : ' + this.v + '</li></ul>');
});
});
我已经尝试过:
$('.overview').each(function () {
这会破坏脚本。
另外仅供引用,当脚本中断时,唯一值会以完整数组字符串格式正确显示在项目上。
最佳答案
如果您有多个“概述”元素,那么您必须遍历该列表。
$('.overview').each(function() {
var $overview = $(this), specs = $.parseJSON($overview.html());
$overview.html('<div class="bullet_spec"></div>');
$.each(specs, function () {
$overview.children('div').append('<ul class="specs"><li class="label">' + this.k + ' : ' + this.v + '</li></ul>');
});
});
关于javascript - Jquery Each 和 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21101853/