我是JS和jQuery的新手,但我一直試圖對一些Javascript變量使用addClass()
和removeClass
,並且不知道我在做什麼錯誤。在jQuery中使用變量addClass()
我有這個1-5星評級系統。
我希望它在懸停時更改類,並在點擊時保存評分。
的HTML看起來像這樣:
<span class="icon-rating-empty" id="blob1"></span>
等了斑點2-5。
我目前擁有的JS是
var blob1 = document.getElementById('blob1');
var blob2 = document.getElementById('blob2');
var blob3 = document.getElementById('blob3');
var blob4 = document.getElementById('blob4');
var blob5 = document.getElementById('blob5');
var rating = 0;
blob1.addEventListener('hover', function() {
$(blob1).addClass("icon-rating-full").addClass("green-blob").removeClass("icon-rating-empty")
},
function() {
$(blob1).addClass("icon-rating-empty").removeClass("green-blob").removeClass("icon-rating-full")
});
blob1.addEventListener('click', function() {
rating = 1;
});
這不工作,我敢肯定,我不知道如何處理與jQuery的變量,但不能找到任何我應該做的事情。
我測試過了,如果我用$("#blob1")
而不是$(blob1)
它可以工作,但我想使用變量,因爲我有更多的計劃。
你有經典的addEventListener混合jQuery的事件。不要這樣做 – rlemon
如果你有更多的計劃*你正在使用ID blob1等等......我建議你立即改變你的計劃(並改爲使用單個父類) –
你應該添加一個單獨的所有五個元素的事件處理程序,並使用數據屬性查找單擊元素的評分。 – SLaks