这是我的HTML和代码:
<div id="rptCategoryProducts">
<ul class="productsUl">
</ul>
</div>
删除scritp:
$("#btnFilter").click(function () {
$(".productsUl li").each(function () {
this.remove();
});
currentPage = 0;
InfiniteScroll(0, 1000);
});
添加脚本:
$(".productsUl").append("<li>" + productInnerHtml + "</li>");
但它没有删除,当我在Mozilla Firebug中观察步骤时,我看到它在this.remove();
行后停止。
你有什么建议吗?
答案 0 :(得分:1)
甚至更简单:
$(".productsUl li").remove();
- )
答案 1 :(得分:1)
您需要使用$(this)
来引用li
元素
$("#btnFilter").click(function () {
$(".productsUl li").each(function () {
$(this).remove();
});
currentPage = 0;
InfiniteScroll(0, 1000);
});
答案 2 :(得分:1)
使用each
循环遍历jQuery对象时,您将获取元素本身,而不是每个元素都包含在jQuery对象中。您需要将每个元素包装在jQuery对象中以使用remove
方法:
$(".productsUl li").each(function () {
$(this).remove();
});
但是,您甚至不需要循环遍历元素,只需在包含所有元素的jQuery对象上使用remove
方法:
$(".productsUl li").remove();
答案 3 :(得分:0)
您需要$(this)
而不是this
-
$(".productsUl li").each(function () {
$(this).remove();
});
答案 4 :(得分:0)
你应该试试这个:
$(this).remove();
而不是
this.remove();
答案 5 :(得分:0)
缺少'$'。尝试:
$(".productsUl li").each(function () {
$(this).remove();
});
答案 6 :(得分:0)
在each
回调中,this
指向dom元素引用而不是jquery对象引用。因此,在调用remove()
$(".productsUl li").each(function () {
$(this).remove();
});
可以轻松完成
$(".productsUl > li").remove()
答案 7 :(得分:0)
奇怪。这个对我有用。看看这个测试:
[link]http://jsfiddle.net/bwqwD/