好的,我正在使用此代码,无法弄清楚如何解决上述问题。我得到了这个简单的循环:
for (i = 0; i < z.length; i++) {
var ht = $('<div class="empresa"><div class="ordem"><div class="ordem_e">Ordem:1</div><div class="nome_e">Nome da empresa</div></div><div class="responsaveis"><p class="nome_r">Nome do cidadão</p><span class="ordem_p">Ordem:1</span><br /><p class="funcao">Contratante</p><br /><div class="cont_status"><div class="ind_assinar">Assinar</div><div class="ind_aprovar">Aprovar</div><div class="ind_aceitar">Aceitar</div></div></div></div>')
ht.find(".ordem_e").text('Ordem:' + z[i].papel_ordem);
ht.find(".nome_e").text(z[i].empr_nome);
ht.find(".nome_r").text(z[i].cont_nome);
ht.find(".ordem_p").text("Ordem:" + z[i].cont_ordem);
ht.find(".funcao").text(z[i].decl_identificacao);
$(".insere_empr").append(ht);
}
只是创建了一些显示一些属性的对象,如截图所示:
&#34; z&#34;在我获取值的代码中,是从Ajax调用返回的JSON。它是一个包含对象的数组,如[{...},{...},{...},{...}]
那么,我如何比较一个元素(在我的代码中.nome_e文本,或者#34; Magna&#34;图片中的名称)来检查相同的元素?然后我想将所有具有相同名称的html对象联合起来(再次,基于屏幕截图,&#34;麦格纳&#34;内部会有两个盒子)。
我还在尝试某些方法来找到解决方案,但现在我已经迷失了。会不断尝试,但如果有人能指出我如何解决这个问题的一些想法,那将会有很大的帮助:D
提前感谢,如果帖子很长,请对不起。我试图澄清我的问题。
答案 0 :(得分:0)
您可以构建已使用的键(对象)的索引以忽略相同的元素:
let idx = {};
for (i = 0; i < z.length; i++) {
if (!idx[z[i].empr_nome]) {
idx[z[i].empr_nome] = 1;
var ht = $('<div class="empresa"><div class="ordem"><div class="ordem_e">Ordem:1</div><div class="nome_e">Nome da empresa</div></div><div class="responsaveis"><p class="nome_r">Nome do cidadão</p><span class="ordem_p">Ordem:1</span><br /><p class="funcao">Contratante</p><br /><div class="cont_status"><div class="ind_assinar">Assinar</div><div class="ind_aprovar">Aprovar</div><div class="ind_aceitar">Aceitar</div></div></div></div>');
答案 1 :(得分:0)
所以,我修理了它:
var wha = [];
for (i=0; i<z.length; i++){
var ht = $('<div class="empresa"><div class="ordem"><div class="ordem_e">Ordem:1</div><div class="nome_e">Nome da empresa</div></div><div class="responsaveis"><p class="nome_r">Nome do cidadão</p><span class="ordem_p">Ordem:1</span><br /><p class="funcao">Contratante</p><br /><div class="cont_status"><div class="ind_assinar">Assinar</div><div class="ind_aprovar">Aprovar</div><div class="ind_aceitar">Aceitar</div></div></div></div>')
ht.find(".ordem_e").text('Ordem:' + z[i].papel_ordem);
ht.find(".nome_e").text(z[i].empr_nome);
var gh = ht.find(".nome_e").text();
ht.find(".nome_r").text(z[i].cont_nome);
ht.find(".ordem_p").text("Ordem:" + z[i].cont_ordem);
ht.find(".funcao").text(z[i].decl_identificacao);
//console.log(z[i].empr_nome);
console.log(wha);
console.log($.inArray(gh, wha));
if($.inArray(gh, wha) == -1){
wha.push(z[i].empr_nome);
} else{
ht.find(".nome_e").parents().css("background-color", "orange");
}
$(".insere_empr").append(ht);
}
制作一个空数组,将项目字符串与所述数组进行比较。如果为-1,则按下它(仅供参考)。顺便说一句,橙色bkg仅用于测试。现在我只需要弄清楚如何进入上部结构。也许我稍后会问。