когда я использую .innerText не определено, но когда я не делаю это не - PullRequest
0 голосов
/ 28 апреля 2020

Так что я пытаюсь получить innerText элемента html, используя js, но когда я делаю это, он говорит мне, что мои объекты не определены, но если я попрошу войти без .innerText, он не даст мне ошибка и дает мне описание элемента

, который я пытаюсь получить!

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 Ответ

1 голос
/ 28 апреля 2020

Ошибка будет в первом ряду. Пожалуйста, проверьте ваш первый ряд.

<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" и "amount" для первого ряда. Если вы измените имя класса этой первой строки (строки заголовка), у вас не будет ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...