2016-02-09 67 views
0

即時開始編程,並得到了一個問題,我無法解決。我怎樣才能得到同一班級的多個跨度的價值?獲取多個跨度的值

HTML看起來像這樣:

<ul> 
    <li> 
     <input type="checkbox" value="300" /> 
     <label> 
      At vero consecur <span class="price">300</span> 
     </label> 
    </li> 
    <li> 
     <input type="checkbox" value="450" /> 
     <label> 
      lorem ipsum <span class="price">450</span> 
     </label> 
    </li> 
    <li> 
     <input type="checkbox" value="850" /> 
     <label> 
      solor sit amet <span class="price">850</span> 
     </label> 
    </li> 
    <li>Total Sum <span class="price">0</span></li> 
</ul> 

現在我想要得到的(。價格)的價值跨越。用我的代碼,我可以得到每個價格區間的價值。

$(document).ready(function() { 
    var preis = $('.price').text() 
    var newprice = parseInt(preis) 
    alert(newprice) 
}); 

我試過這樣的事情。但它也不起作用。

$("ul li label span").each(function(index) { 
    alert(index + ": " + $(".price").text()); 
}); 
+0

您是否試圖將價格與最近的'input'相關?如果是這樣,你需要使用DOM遍歷而不是'each'循環。 –

回答

0

使用this代替.price在你的each,因爲.price引用所有spanprice類。

$("ul li label span").each(function(index) { 
    alert(index + ": " + $(this).text()); 
}); 
0

使用$(this)而不是$(".price")

Live Demo

$("ul li label span").each(function(index) { 
     alert(index + ": " + $(this).text()); 
}); 

您可以直接使用類,如果該類未在頁面的其他部分使用。

Live Demo

$('.price').each(function(index) { 
     alert(index + ": " + $(this).text()); 
}); 
0

您需要使用each和使用$(this)指對應的元素獲取文本:

EX-

$('.price').each(function(index,element){ 
    alert($(this).text()); 
}); 
0

你應該申請jQuery的each功能項與price類。

$(function() { 
    $(".price").each(function(i, v) { 
     console.log($(v).text()); 
    }); 
}); 
0

每個.price

var prices = new Array(); 

$(".price").each(function(key, val){ 
    var price = $(this).text(); 
    prices.push(price); 
    alert(price); 
}); 

Working Fiddle

0

拼搶中.price文字是不是真的是你想在這裏做。我看到你想要所有複選框的值,然後我猜你想要計算它們。 你可以更好地循環使用<input>並從中獲取價值。這樣,那麼對於最後一個.price元素,您將不會拾取0的值。

我個人會去這樣的:

$(function() { 
    $('input').each(function() { 
     console.log($(this).val()); 
    }) 
}); 
1

你必須遍歷。價格因素。

$(".price").each(function(i){ 
    price = $(this).html() 
    if (!isNaN(price)) total += Number(price); 
});