我想创建一个过滤函数,它根据p标签的值隐藏div。行为应如下:
用户选择过滤器,例如大于5 :
我的解决方案如下:
function eraseThis() {
counter = 0
tagList = document.getElementsByClassName("rating")
$(".rating").each(function()
{
if (this.innerHTML < 5) {
$(this).parent().hide()
}
counter = counter + 1
});
}
这给了我正在寻找的结果,但我想知道是否有更优雅/更有效的方法来做到这一点?
标记类似于:
<div class="movie">
<p class="rating"> some value </p>
</div>
<div class="movie">
<p class="rating"> some value </p>
</div>
等等
答案 0 :(得分:0)
我认为这应该可以解决问题:
JQuery代码:
function eraseThis() {
var tagList = $(".rating");
tagList.each(function(){
var $this = $(this);
if (parseInt( $this.text() ) < 5) {
$this.parent().hide();
}
});
}
Html代码:
<div class="movie">
<p class="rating">2</p>
</div>
<div class="movie">
<p class="rating">9</p>
</div>
这是完整的代码:JSFiddle