簡體   English   中英

如何遍歷數組以獲取 jquery 屬性?

[英]How can i loop over an array to get jquery properties?

我有一些字段,如果它們為空,我想隱藏它們。 我能夠做到這一點:

if (json[0].incendio_edificio == null) {
  $("#dIncendio_edificio").parent().parent().hide();
}

if (json[0].hvct_edificio == null) {
  $("#dHvct_edificio").parent().parent().hide();
}

if (json[0].granizo_edificio == null) {
  $("#dGranizo_edificio").parent().parent().hide();
}

我想要做的是將字段放在矩陣中並在循環中執行條件,如下所示:

const campos_poliza = [
                         [json[0].incendio_edificio, $("#dIncendio_edificio")],
                         [json[0].hvct_edificio, $("#dHvct_edificio")],
                         [json[0].granizo_edificio, $("#dGranizo_edificio")],
                      ];

for (var x in campos_poliza){
  if (x[0] == null) {
    x[1].parent().parent().hide();
  }
}

這不會給出任何錯誤,但它一直顯示空字段。 我怎樣才能做到這一點? html是:

<div class="row">
  <div class="col s3">
    <span class="text-bold text-blue">Incendio Edificio:</span>
  </div>
  <div class="col s9">
    <span id="dIncendio_edificio"></span>
  </div>
</div>
<div class="row">
  <div class="col s3">
    <span class="text-bold text-blue">HVCT Edificio:</span>
  </div>
  <div class="col s9">
    <span id="dHvct_edificio"></span>
  </div>
</div>
<div class="row">
  <div class="col s3">
    <span class="text-bold text-blue">Granizo Edificio:</span>
  </div>
  <div class="col s9">
    <span id="dGranizo_edificio"></span>
  </div>
</div>

當您使用for (var x in campos_poliza)x是數組的索引,即 0, 1, 2 ...

這可能是您需要的:

for (var x of campos_poliza) {
  if (x[0] == null) {
    x[1].parent().parent().hide();
  }
}

或者

campos_poliza.forEach(x => {
  if (x[0] == null) {
    x[1].parent().parent().hide();
  }
});

如果存在,為什么不切換

 const obj = [{ incendio_edificio:null, hvct_edificio : "not null", granizo_edificio : null }] Object.entries(obj[0]).forEach(([key,val]) => { const sel = `#d${key.slice(0,1).toUpperCase()}${key.slice(1)}`; console.log(key,val,sel) const $elem = $(sel) if ($elem) $elem.closest(".row").toggle(val!=null) })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <div class="row"> <div class="col s3"> <span class="text-bold text-blue">Incendio Edificio:</span> </div> <div class="col s9"> <span id="dIncendio_edificio"></span> </div> </div> <div class="row"> <div class="col s3"> <span class="text-bold text-blue">HVCT Edificio:</span> </div> <div class="col s9"> <span id="dHvct_edificio"></span> </div> </div> <div class="row"> <div class="col s3"> <span class="text-bold text-blue">Granizo Edificio:</span> </div> <div class="col s9"> <span id="dGranizo_edificio"></span> </div> </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM