我在這里想要實現的是將<li></li>(在<ol></ol>默認類型下)的索引值顯示到<p></p>(可以是多個之一,很可能只有一個)在里面。我的初始代碼:<ol> <li> <p>First p element in div.</p> </li> <li> <span>Second p</span> </li> <li> <p>A third p element in div.</p> </li> <li> <p>A fourth p element in div.</p> </li></ol>腳本:<script> var x = document.getElementsByTagName('li'); var y = document.getElementsByTagName('p'); for(var j = 0; j < x.length; j++){ for(var k = 0; k < y.length; k++) { if(x[j].index == y[k].index){ y[j].innerHTML = j+1; } } }</script>輸出:1.12.Second p3.24.3預期輸出:1.12.Second p3.34.4
2 回答

紫衣仙女
TA貢獻1839條經驗 獲得超15個贊
我建議使用querySelectorAll而不是getElementsByTagName- 更精確。那么不要獲取p文檔中的所有元素;只需獲取每個中的所有p元素即可li??赡苁且环N更優雅的方法來做到這一點,但嵌套循環方法有效:
var li = document.querySelectorAll('ol li');
for(var i = 0; i < li.length; i++) {
var p = li[i].querySelectorAll('p');
for(var j = 0; j < p.length; j++) {
p[j].innerHTML = i + 1;
}
}
<ol>
<li>
<p>First p element in div.</p>
</li>
<li>
<span>Second p</span>
</li>
<li>
<p>A third p element in div.</p>
</li>
<li>
<p>A fourth p element in div.</p>
</li>
</ol>
- 2 回答
- 0 關注
- 164 瀏覽
添加回答
舉報
0/150
提交
取消