2014-05-03 58 views
0

該函數保持返回值爲undefined,所以我將它抽象爲這個簡單的HTML結構,我仍然不知道爲什麼它給了我一個undefined的值。.value返回undefined而不是正確的html值

<!DOCTYPE html> 
<html> 

<head> 
    <title></title> 
</head> 

<body> 

    <div id="shoppingCartInner" class="cartItem"> 
     <div class="col-lg-4" id="0"> 
      <div class="cartOpenImage" name="openImage"></div> 
      <div class="cartOpenImageNumber"> 
       <label name="openNumberLabel">Item Number:</label> 
       <div name="openNumberValue">0008</div> 
      </div> 
      <div class="cartOpenItemSupplier"> 
       <label name="openSupplierLabel">Supplier:</label> 
       <div name="openSupplierValue"></div> 
      </div> 
      <div class="cartOpenItemDetails"> 
       <div name="openDetails">Description: Test ITEM</div> 
      </div> 
      <div class="cartOpenItemMfr"> 
       <label name="openMfrLabel">MFR/MFR Part Number:</label> 
       <div name="openMfrValue">/</div> 
      </div> 
      <div class="cartOpenItemQuantity"> 
       <label name="openQuantityLabel">Quantity:</label> 
       <div name="openQuantityValue">3</div> 
      </div> 
      <div class="cartDelete"> 
       <div onclick="removeItem(this);" class="btn btn-red" id="btn-0" value="1">Remove Item</div> 
      </div> 
     </div> 
    </div> 

</body> 

</html> 
<script> 
function removeItem(el) { 
    var y = el.value; 
    alert(y); 
}; 
</script> 

細節,因爲現在計算器可以讓我提交

回答

1

很簡單:
div的不是輸入元素,因此它們沒有價值屬性。
擺脫該元素的值,你有兩個選擇:
1)元素從DIV更改爲:

<input type="button" ... 

2)儘量使用getAttribute(「值」來訪問屬性)方法,例如:

function removeItem(el) { 
    var y = el.getAttribute("value"); 
    alert(y); 
}; 

但 「正確」 的方式做這將是使用input元素

+0

我覺得自己很喜歡發誓。謝謝。我對此完全置之不理。 – user1435281

1

你應該使用

var y = el.getAttribute("value"); 

Fiddle