2016-07-06 52 views
4

所以我想從「toplevel」中得到「嵌套」的值並從「total」中減去它。我敢肯定我的代碼非常低效,原諒我。將var設置爲嵌套的HTML元素文本值

HTML:

<span class="toplevel"> 
    Clickable 
    <span class="nested"> 50 </span> 
</span> <br> 

All put together is... 
<div id="total"> 
    9999 
</div> 

JS:

$(document).ready(function() { 
    var totalcp = parseInt("9999", 10); 
    $('#total').text(totalcp).toString(); 
    $('.toplevel').click(function() { 
     var cpcost = ('.nested'); 
    totalcp = totalcp - cpcost; 
    $('#total').text(totalcp).toString(); 
    }); 
}); 

我的主要問題是行:

var cpcost = ('.nested'); 

我知道我只是缺少一些愚蠢的事!!!!提前致謝。

Codepen link - 上面的組合,問題是,同樣,var cpcost沒有得到「嵌套」值。如果換成一個平面數字,它工作正常。

+0

哦,親愛的上帝,我剛纔已經回答我的問題編輯該行並添加:
'變種cpcost = $( '套合')文本();'
'parseInt函數(cpcost,10);'
但是,如果有多個對象與類'toplevel'我怎麼能添加一個「這個」或告訴變量cpcost到 但我確定我的代碼是地獄般低效,所以任何建議一般會很好。 – ffxivguild

+0

噢,很好......我剛開始對這段代碼做了一些灰頭髮 – devnull69

+0

我甚至無法正確地格式化上述評論,我爲你的頭髮中的黑色素流失而深表歉意!正如你可能會看到的那樣(15年...),我已經遠離了編碼的時間了,這是我一段時間以來的第一部分真實代碼,與我一起袒露!任何和所有的建議表示讚賞。我想我的下一個混亂點將在多個'頂層'類的情況下,我如何告訴該變量使用「THIS」中的'嵌套'... – ffxivguild

回答

3

你忘了下面的代碼添加$

var cpcost = ('.nested'); 

替換用下面的代碼應該工作:

var cpcost =parseInt($(this).find('.nested').text()); 

要找到.nested在當前點擊跨度( .toplevel),只需使用$(this)即可。通過這樣做,您可以將查詢限制爲單擊的元素。此外,要查找特定元素,只需在jQuery中使用find函數即可。

+1

謝謝......我設法找到了我的愚蠢發佈幾分鐘後。但我的後續問題是由你的代碼回答的(告訴它看看「this」以及如何「找到」......謝謝。 – ffxivguild

+0

@ffxivguild我編輯了我的答案:) –