我有一個sections
的列表,其中每個預製div
和button
動態地在下面創建新的div。 divs總是創建在它們所在的部分的末尾,並且應該在行中的位置之後進行編號,而不是創建順序。根據其位置動態設置行號
<section id="section1"><div class="premade">1</div></section>
<button onclick="addRow(1)">Create new</button>
<section id="section2"><div class="premade">2</div></section>
<button onclick="addRow(2)">Create new</button>
我被困在試圖動態設置每個數字。當我創建一個新的div時,它應該根據我選擇創建它的部分以及本部分已包含的div的數量加上前面部分的div數量來獲取它的編號。而不是像我一樣:
section.innerHTML += '<div class="created"> ' + parseInt(index + R) + '</div>'
R += 1;
我寫的代碼獲得當我創造新的div從第一個到最後一個部分正確的數字,但是當我回到以前的部分,以創建一個新的,因爲它失敗不知道這些部分已有的現有div的數量。在新的排名之後定位的div的數量也應該改變,以匹配他們在排中的新位置。我試圖在JavaScript中找到正確的語法。任何想法我可能會這樣做?
感謝您的幫助
我的小提琴:https://jsfiddle.net/balleronde/8bx98a0r/
推測* index *是一個字符串,那麼'parseInt(index + R)'需要是'parseInt(index)+ R',但也許它不需要。 ;-) – RobG
在JavaScript中,'parseInt(index)+ R'中的'+'將像數字1 + 1 = 11相關聯,而不是數學1 + 1 = 2.感謝您的回答:) – Nora
使用' parseInt(index + R)'保證如果任一個是一個字符串,那麼'1 + 1'將是'11'。每個值必須首先轉換爲數字,我假設* R *將被初始化爲一個數字,因此不需要轉換。 – RobG