为了账号安全,请及时绑定邮箱和手机立即绑定

为什么empty()清除了选中项的同时也清除了其它span的内容?两者之间的区别究竟是什么?

 <body>

        <h3>使用empty()方法删除元素</h3>

        <span class="green">香蕉</span>

        <span class="red">桃子</span>

        <span class="green">葡萄</span>

        <span class="green">荔枝</span>

        <script type="text/javascript">

             $("span").empty(".red");

        </script>

    </body>

为什么empty()清除了选中项的同时也清除了其它span的内容?两者之间的区别究竟是什么?

正在回答

5 回答

event.empty();这个方法是删除所选元素的子标签元素,你选择了span,所以页面中所有的span下面的子标签都被删了,你本意想通过.red来筛选,只能用$(".red").empty();或者$("span").remove(".red"),

remove() - 删除被选元素(及其子元素)remove() 方法也可接受一个参数,允许您对被删元素进行过滤

empty() - 从被选元素中删除子元素

http://www.w3school.com.cn/jquery/jquery_dom_remove.asp

这是w3c里面的话,应该好理解。


0 回复 有任何疑惑可以回复我~
#1

浅程 提问者

非常感谢!
2016-06-15 回复 有任何疑惑可以回复我~

empty是不支持有参数的,是根据$("span")选择的对象集合清除这些集合的内容,这里你应该$(".red").empty();

1 回复 有任何疑惑可以回复我~

empty是不能有参数的,是根据$("span")选择的对象集合清除这些集合的内容,所以empty(".red")中的参数".red"是无效的.如果你在这个网站试的话,先确保有没有red的css样式

0 回复 有任何疑惑可以回复我~

empty()方法不支持添加过滤参数

0 回复 有任何疑惑可以回复我~

empty()是清空元素中的内容,被选元素标签仍然存在

$('span').empty();     //span标签不会被清除,span里面的内容都被清除

remove()是清空所有的包括被选元素标签

$('span').remove(); //span标签及里面的内容都被清除

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

为什么empty()清除了选中项的同时也清除了其它span的内容?两者之间的区别究竟是什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信