I am a student and learner, I am making a star rating function using jQuery. Here is my code: HTML Code:
for (var i = 1; i < 6; i++) {
console.log(i);
var cls = ".star_".concat(i);
var sp_cls = ".star_color_".concat(i);
console.log(cls);
$(cls).click(function() {
$(sp_cls).toggleClass(sp_cls);
$("#rate").html("<b>Hello world!</b>");
console.log(i);
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<!-- Rating Stars Box -->
<div class='rating-stars text-center p-2 mt-3'>
<h5 id="rate">Rate this answer here!</h5>
<ul id='stars'>
<li class='star_1' title='Poor' data-value='1'>
<span class='star_color_1'>
<i class='fa fa-star fa-fw fa-2x'></i>
</span>
</li>
<li class='star_2' title='Fair' data-value='2'>
<span class='star_color_2'>
<i class='fa fa-star fa-fw fa-2x'></i>
</span>
</li>
<li class='star_3' title='Good' data-value='3'>
<span class='star_color_3'>
<i class='fa fa-star fa-fw fa-2x'></i>
</span>
</li>
<li class='star_4' title='Excellent' data-value='4'>
<span class='star_color_4'>
<i class='fa fa-star fa-fw fa-2x'></i>
</span>
</li>
<li class='star_5' title='WOW!!!' data-value='5'>
<span class='star_color_5'>
<i class='fa fa-star fa-fw fa-2x'></i>
</span>
</li>
</ul>
</div>
In this I am passing variable named "cls" instead of class name, it is not showing any error in console but my program is not working. Why so?