0
我想設置一個使用jQuery的過濾器。我會有一定數量的div,每個都有一個數值(比方說價格)。jquery過濾器顯示不穩定的結果
下面的代碼正常工作,直到您輸入的值小於10爲止。然後您將得到的結果不應該在那裏。 (例如輸入4)
修復此問題的任何幫助將非常棒!謝謝!
<script>
function sortmebaby()
{
var divList = $('#containerMonkey div[id^="monkey_"]');
$.each(divList, function(index, value)
{
console.log($(value).attr('xprice'));
if ($(value).attr('xprice') > $('#mankipower').val())
$(value).hide();
else
$(value).show();
//alert(index + ': ' + value);
});
}
</script>
<div id="containerMonkey">
<div id="monkey_1" xprice="10">10</div>
<div id="monkey_2" xprice="20">20</div>
<div id="monkey_3" xprice="30">30</div>
<div id="monkey_4" xprice="40">40</div>
<div id="monkey_5" xprice="50">50</div>
</div>
<input type="text" name="mankipower" id="mankipower">
<input type="button" value="PUSH" onclick="sortmebaby()">
謝謝!
此外,我會緩存$(價值),而不是一遍又一遍地重新選擇它。當你「隱藏」元素時,它仍然在DOM中。使用.remove()來逐字刪除它。 –
同意,緩存'價值'將是一個好主意。至於你的其他建議,這些元素可以隱藏並再次顯示,所以'hide'在這種情況下更好,除非你想每次重新創建元素並將它們添加回DOM。 –
太棒了!謝謝! –