簡體   English   中英

從Object.keys(數據)的getElementById

[英]getElementById from Object.keys(data)

我有簡單的Ajax代碼,解析Json數據並在其中填充動態div。 當我想動態獲取getElementById時遇到問題。

我的鍵數組成功返回= [“ blue”,“ red”,“ etc” ..],我有blue-data,red-data等etc數據div ID。

<div id="blue-data">myblue</div>
<div id="red-data">myred</div>
<div id="etc-data">myetc</div>

我的代碼如下:

      success: function(data) {
      Object.keys(data).forEach(function(key,index) {


            console.log(document.getElementById(''+key+'-data').innerHTML);


         });

});

當我運行時給出:

的console.log(的document.getElementById( '' +鍵+ ' - 數據')的innerHTML。);

Error

null is not an object (evaluating 'document.getElementById(''+key+'-data').innerHTML')

但是在控制台中,輸出為;

myblue
myred
myetc

我怎樣才能解決這個問題? 我想與鍵數據div內部值。

如您所說,如果返回的數據是一個Array,則Object.keys不是您應使用的,因為它要遍歷Objects的屬性(鍵)。 如果只有數組,則直接在其上循環:

 // This is just simulating the result of your `success` handler's argument: let data= ["blue","red","etc"]; // This would be INSIDE of your success callback function data.forEach(function(item) { console.log(document.getElementById(item + '-data').textContent); }); 
 <div id="blue-data">myblue</div> <div id="red-data">myred</div> <div id="etc-data">myetc</div> 

暫無
暫無

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

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