亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 for 循環 JavaScript 中生成 div 元素 id

如何在 for 循環 JavaScript 中生成 div 元素 id

江戶川亂折騰 2023-09-07 10:09:06
我正在嘗試在 JavaScript 或 JQuery 循環中生成預設數量的 div 元素。目標是必須循環創建這些帶有 id 的 div,我可以用它在程序的另一部分中引用。我知道我不能使用 DOM 連接。所以,我很難讓它執行。我嘗試過使用文檔片段來執行此操作,但我對它們不太熟悉。這是我想要完成的一些偽代碼:numCards = 16;for (var i = 0; i < numCards; i++){     html += '<div id="image' + i + '"><img src="images/desiredImage.png"></div>'}再次,我知道這不起作用,因為我不能以這種方式在循環中使用串聯。還有哪些其他方法可能對解決此問題有用?
查看完整描述

4 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

您可以使用innerHTML


numCards = 16;

let html = "";

for (var i = 0; i < numCards; i++)

{

? ? ?html += '<div id="image' + i + '"><img src="images/desiredImage.png"></div>'

}


document.getElementById("parent").innerHTML = html;

<div id="parent">

<div>


查看完整回答
反對 回復 2023-09-07
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

讓 jQuery 來完成工作,而不是定義卡片的長度(這實際上取決于您)。這是我的解決方案。


var card_parent = jQuery(document).find('div.card_parent');

    var numCards = card_parent.children('div.numCards').length;

    console.log( numCards + ': total cards'); //this is your number of cards in page


    jQuery('div.numCards').each(function( card_count )

    {

      console.log( 'card ' + card_count + ' id => ' + jQuery(this).attr('id') );

      

      card_count++;

    });

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <div class="card_parent"><!-- add a parent that nest the number of cards -->

      <div id="card_1" class="numCards">card 1</div><!--for each class uses a singular class -->

      <div id="card_2" class="numCards">card 2</div>

      <div id="card_3" class="numCards">card  3</div>

      <div id="card_4" class="numCards">card  4</div>

      <div id="card_5" class="numCards">card  5</div>

      <div id="card_6" class="numCards">card  6</div>

      <div id="card_7" class="numCards">card  7</div>

      <div id="card_8" class="numCards">card  8</div>

      <div id="card_9" class="numCards">card  9</div>

      <div id="card_10" class="numCards">card  10</div>

      <div id="card_11" class="numCards">card  11</div>

      <div id="card_12" class="numCards">card  12</div>

      <div id="card_13" class="numCards">card  13</div>

      <div id="card_14" class="numCards">card  14</div>

      <div id="card_15" class="numCards">card  15</div>

      <div id="it_works" class="numCards">card  16</div>

    </div>


查看完整回答
反對 回復 2023-09-07
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

numCards = 16;


const parent = document.querySelector("#parent")


for (var i = 0; i < numCards; i++)

{

     html += `<div id="image${i}"><img src="images/desiredImage.png"></div>`

     parent.insertAdjacentHTML("afterbegin",html)

}

請注意,我使用反引號 `` 和帶美元符號的大括號


反引號代替引號


美元符號意味著您想在此處附加一些隨機或特殊內容


大括號是特殊內容的容器


查看完整回答
反對 回復 2023-09-07
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您正在尋找node.appendChild(myDiv);(?appendChild()?)

所以對于這個循環我建議:

const numCards = 16;

const parent = document.getElementById('parentDiv');


for (var i = 0; i < numCards; i++)

{

? ? // using template literals is cleaner

? ? const div = `<div id="image${i}"><img src="images/desiredImage.png"></div>`

? ??

? ? // append the new div to the parent

? ? parent.appendChild(div);

}


查看完整回答
反對 回復 2023-09-07
  • 4 回答
  • 0 關注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號