![](/img/trans.png)
[英]Get elements by class-name but not changing all elements with this class at click
[英]How to get multiple elements by class name that are changing?
誰能幫我? 我正在嘗試按類名選擇多個元素。 一切都很好,直到頁面中間某處的評論文本不可用,只有評論者姓名和已評論的產品。 如果該特定行不存在該元素,如何將其設置為跳過該元素並移至下一行?
編輯:所以根據建議,我嘗試使用下面的代碼,但控制台說
-forEach 不是函數。 我在以下頁面上運行這個: https : //www.etsy.com/shop/FamilyshirtsCo/reviews
var productRows = document.getElementsByClassName("div.flag-body pb-xs-0");
productRows.forEach(function(productRow){
var name = productRow.querySelector(".p.shop2-review-attribution");
var comments = productRow.querySelector(".p.prose break-word m-xs-0");
var product = productRow.querySelector(".flag-body hide-xs hide-sm");
var final = product[i].innerText +" | "+ price[i].innerText +" | "+
quantity[i].innerText;
console.log(final);
});
getElementsByClassName 返回所有具有指定類的元素,而不管其兄弟或父元素。 在這里,您可以將 some 類分配給該行的父類:
因此,html結構如下:
<div class="product-row">
<div class="product">
some product
</div>
<div class="price">
some price
</div>
<div class="quantity">
some quantity
</div>
</div>
Javascript :
var productRows = document.getElementsByClassName("product-row");
productRows.forEach(function(productRow){
var product = productRow.querySelector(".product");
var price = productRow.querySelector(".price");
var quantity = productRow.querySelector(".quantity");
var order = product[i].innerText +" | "+ price[i].innerText +" | "+ quantity[i].innerText;
console.log(order);
});
我希望這能解決您的問題
必須是 for 循環而不是 forEach。 它是 HTMLCollection 不是簡單的數組。
var productRows = document.getElementsByClassName("product-row"); for ( var x = 0; x < productRows.lenght; x++) { var product = productRows[x].querySelector(".product"); var price = productRows[x].querySelector(".price"); var quantity = productRows[x].querySelector(".quantity"); var order = product[i].innerText + " | " + price[i].innerText + " | " + quantity[i].innerText; console.log(order); };
<div class="product-row"> <div class="product"> some product </div> <div class="price"> some price </div> <div class="quantity"> some quantity </div> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.