当我使用 .innerText 时,它是未定义的,但是当我不使用时,它不是
2020-04-28
512
因此,我尝试使用 JS 获取 HTML 元素的
innerText
,但当我这样做时,它告诉我我的对象未定义,但如果我要求在没有
.innerText
的情况下进行记录,它不会给我错误,而是给我我试图获取的
<p>
元素的描述!
HTML:
<div class="rTable">
<div class="rTableRow">
<div class="rTableHead"><strong>Producto</strong></div>
<div class="rTableHead"><span style="font-weight: bold;">Preço</span></div>
<div class="rTableHead">Quantidade</div> </div>
<div class="rTableRow">
<div class="rTableCell">T-shirt World</div>
<div class="rTableCell">
<p class="cart-price">14,99$</p></div>
<div class="rTableCell"><input style="width:50px;height: 20px;" type="number" class="quantity" name="quantity" min="1">
<button class="btn-danger" >Remover</button></div> </div>
<div class="rTableRow">
<div class="rTableCell">T-shirt World</div>
<div class="rTableCell"><p class="cart-price">14,99$</p></div>
<div class="rTableCell"><input style="width:50px;height: 20px;" type="number" class="quantity" name="quantity" min="1" value="1"> <button class="btn-danger" >Remover</button></div> </div>
</div>
JS:
function updateCartTotal(){
var cartItemContainter = document.getElementsByClassName('rTable')[0]
var cartRows = cartItemContainter.getElementsByClassName('rTableRow')
for(var i = 0; i<cartRows.length; i++){
var cartRow = cartRows[i]
var priceElement = cartRow.getElementsByClassName('cart-price')[0]
var quantityElement = cartRow.getElementsByClassName('quantity')[0]
console.log(priceElement,quantityElement)
var price = priceElement.innerText
console.log(price)
}
}
1个回答
错误将出现在第一行。 请检查您的第一行。
<div class="rTableRow">
<div class="rTableHead"><strong>Producto</strong></div>
<div class="rTableHead"><span style="font-weight: bold;">Preço</span></div>
<div class="rTableHead">Quantidade</div>
</div>
它有 rTableRow 类,但第一行没有“cart-price”和“quantity”元素。 如果您更改第一行(标题行)的类名,则不会出现错误。
2020-04-28