2016-01-07 74 views
0

我想添加價格,名稱,...到在html上動態生成的購物車。在我想要將這些值傳遞給那個按鈕之前。但是沒有得到我。這裏是代碼加入購物車按鈕點擊時選定的商品

但我有各類

 var b,c,d; 
 
       function add(){ 
 
        for(var i=0;i<1;i++){ 
 
        b=document.getElementsByTagName("span")[i]; 
 
        c=document.getElementsByTagName("p")[i]; 
 
        d=document.getElementByTagName("h4")[i]; 
 
        alert(b.textContent); 
 
        alert(c.textContent); 
 
        alert(d.textContent)}; 
 
       }
<div class="col-sm-9"> 
 
       <div class="col-sm-2"> 
 
          <h5></h5> 
 
          <img src="defaultimg.png"> 
 
          <span></span> 
 
          <p></p> 
 
          <button value="Add to Wishlist" onclick="add()">Add to Wishlist</button> 
 
         </div> 
 
         
 
         <div class="col-sm-1"></div> 
 
         
 
         <div class="col-sm-2"> 
 
          <img src="defaultimg.png"> 
 
          <span></span> 
 
          <p></p> 
 
          <h5></h5> 
 
          <button value="Add to Wishlist" onclick="add()">Add to Wishlist</button> 
 
         </div> 
 
         <div class="col-sm-1"></div> 
 
         <div class="col-sm-2"> 
 
          <h1></h1> 
 
          <h2></h2> 
 
          <h3></h3> 
 
          <h4></h4> 
 
          <button value="Add to Wishlist">Add to Wishlist</button>    
 
         </div> 
 
        </div>

我能夠得到的只是單一值,是第一個,每當我嚴格使用JavaScript的任何DIV點擊按鈕

回答

0

打開你的控制檯,它會說:

Uncaught TypeError: document.getElementByTagName is not a function(…) 

你有一個錯字,你錯過了s

d=document.getElementsByTagName("h4")[i]; 

它在循環1結束時破壞了你的代碼,這就是爲什麼你只能得到一個值。

這就是說,因爲你只有一個<h4>標籤,不確定JS會很滿意d = document.getElementsByTagName("h4")[1];(嘗試選擇第二個<h4>,它不存在)。它可能會返回undefined,並且當您嘗試d.textContent時,您的代碼會再次中斷,您將得到Cannot access method textContent of undefined.因此,即使修復了錯字,我相信代碼在循環1之後會因爲另一個原因而中斷。底線,我不知道你會用這段代碼檢索你的所有值,它太脆弱了,太容易打破了。你應該嘗試另闢蹊徑。

+0

謝謝@Jeremy Thille。我通過獲取他們的ID手動讀取這些值來獲得這些值。 –

+0

沒問題。如果你接受我的回答,我會很高興,所以我得到一些代表:) –

相關問題