You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery在空jQuery对象(.contents())上过滤/全过滤后的行为探究

探究jQuery在空jQuery对象(.contents())上执行过滤操作,或是所有元素均被过滤后的行为表现

(此为学习与测试过程中观察到的结果,并非正式问题。发布供有同类疑问的开发者参考)

测试结论与实际表现

  • 当jQuery对象为空(比如调用.contents()返回空集合,或所有元素被过滤移除)时,执行filter()、find()这类过滤方法,会返回一个空的jQuery对象,不会触发任何错误。
  • 空jQuery对象依然具备jQuery的全部方法,调用.css()、.on()、.append()等方法时,不会报错,只是不会对DOM产生任何实际修改或绑定效果。
  • 示例验证代码:
    // 场景1:.contents()返回空对象
    const emptyContent = $('<span></span>').contents();
    const filteredEmpty = emptyContent.filter('div');
    console.log(filteredEmpty.length); // 输出 0
    
    // 场景2:所有元素被过滤掉
    const items = $('li');
    const filteredItems = items.filter('.no-such-class');
    filteredItems.css('background', 'blue'); // 无DOM变化,无报错
    

内容的提问来源于stack exchange,提问作者Nor.Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:38