Saya mahukan kod JS yang menggelung melalui satu siri item senarai dan untuk setiap item senarai ia menyimpan nilai atribut unik (dalam kes ini, href) dan kemudian memasukkannya ke dalam satu lagi dalam item senarai yang sama Dalam elemen (dalam kes ini, butang). Kod JS semasa saya hanya berfungsi pada item senarai pertama, bukan keseluruhan siri. Bolehkah pendekatan saya diubah suai, atau adakah ia perlu diubah suai?
<li class="productgrid--item"> <a class="productitem--image-link" href="www.link_one.com">link one</a> <button class="atc-button--text">button one</button> </li> <li class="productgrid--item"> <a class="productitem--image-link" href="www.link_two.com">link two</a> <button class="atc-button--text">button two</button> </li> <li class="productgrid--item"> <a class="productitem--image-link" href="www.link_three.com">link three</a> <button class="atc-button--text">button three</button> </li>
document.querySelectorAll('.productgrid--item').forEach(function(node) { var anchorHref = document.querySelector('.productitem--image-link').getAttribute('href'); var addToCart = document.querySelector('.atc-button--text'); addToCart.setAttribute('data', anchorHref); });
Akan lebih mudah untuk diikuti jika anda menggunakan nod foreach dan dapatkan serta tetapkan sifat yang diperlukan dari sana
dalam
forEach()
中,你应该使用node.querySelector()
而不是document.querySelector()
.Lihat https://jsfiddle.net/qkd37rsu/
document.querySelector()
在整个文档树中选择并返回第一个匹配的元素,而node.querySelector()
仅在node
元素的子树中搜索(并返回第一个匹配的元素)。请注意,node
只是由forEach(function(node){...})
Parameter yang disediakan.