我需要从包含州和城市地址的JSON对象创建一个列表。
JSON对象如下所示:
atm = {estados": [
{
"txNome": "TOCANTINS",
"listaCidades": [
{
"txNome": "PALMAS",
"listaEnderecos": [
"AVENIDA JUSCELINO KUBITSCHEK. <br> Número: 0. <br> Bairro: PLANO DIRETOR NORTE. <br> CEP: 77.001-080.",
"AV 107 NORTE AVEN JUSCELINO KUBITSCHEK. <br> Bairro: PLANO DIRETOR NORTE. <br> CEP: 77.001-080."
]
}
]
},
{
"txNome": "MARANHAO",
"listaCidades": [
{
"txNome": "SANTA INES",
"listaEnderecos": [
"AVENIDA CASTELO BRANCO. <br> Número: 2790. <br> Bairro: LARANJEIRAS. <br> CEP: 65.300-000.",
"ROD BR 316 KM 258. <br> Número: 32. <br> Bairro: CANAA. <br> CEP: 65.300-000.",
"AV CASTELO BRANCO. <br> Número: 2790. <br> Bairro: LARANJEIRAS. <br> CEP: 65.300-000."
]
}
遵循这个JSFiddle我做了这个
var atms = <?php echo $scriptListaAtm ?>;
ul = $('<div class="container">');
for (var i = 0; i < atms.estados.length; i++) {
var li = $('<h1>').text(atms.estados[i].txNome);
var ul_cidade = $('<div class="col-md-4 botmargin">');
for (var j = 0; j < atms.estados[i].listaCidades.length; j++) {
var cidade = $('<h4>').text(atms.estados[i].listaCidades[j].txNome);
var ul_endereco = $('<div>');
for (var k = 0; k < atms.estados[i].listaCidades[j].listaEnderecos.length; k++) {
$('<p>'+atms.estados[i].listaCidades[j].listaEnderecos[k]).appendTo(ul_endereco);
}
cidade.append(ul_endereco);
ul_cidade.append(cidade);
}
li.after(ul_cidade);
li.appendTo(ul);
}
ul.appendTo(locaisatendimento);
使用li.after(ul_cidade)
不起作用,我只获取状态名称,但是如果我使用li.append(ul_cidade)
它确实有效,但是我得到了错误的结构。
有人能告诉我我做错了吗?
答案 0 :(得分:0)
这是因为li
是您创建的节点,而不是选择器,after
根据其描述:
描述:在匹配元素集中的每个元素之后插入由参数指定的内容。
所以没有任何元素。而是li.append(ul_cidade)
追加内容。