clone.html() 为空

发布于 2024-10-25 01:22:07 字数 426 浏览 3 评论 0原文

我想知道这个错误消息是什么意思:

clone.html() is null

控制台引用了包含以下代码的行:

clone.filter('p').html(clone.html().replace('a','b').replace('x','y'));

这是我的代码片段:


var clone = $('div p, div ul').clone();
clone.filter('p').html(clone.html().replace('a','b').replace('x','y')); 

我错过了什么? 我应该检查clone.html()是否为null吗?或者这是一个肮脏的解决方案? 任何想法或提示都将受到高度赞赏。

I'm wondering what this error message means:

clone.html() is null

The console refers to the line with following code:

clone.filter('p').html(clone.html().replace('a','b').replace('x','y'));

This is my code-snippet:


var clone = $('div p, div ul').clone();
clone.filter('p').html(clone.html().replace('a','b').replace('x','y')); 

What did I miss?
Shall I check whether clone.html() is null or not? Or is it a dirty solution?
Any idea or hint is highly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暗喜 2024-11-01 01:22:07

clone.html() is null 意味着您的选择器 $('div p') 没有找到任何内容

clone.html() is null means that your selector $('div p') does not find anything

叶落知秋 2024-11-01 01:22:07

如果您的选择器未找到任何内容,clone.html() 将为 null。这是因为,当 jQuery 找不到任何内容时,它会返回一个空数组。此外,在集合上调用 html() 只会获取第一项的 html 值。您可能应该循环执行此操作。

var clone = $('div p, div ul').clone();
clone.each(function(){
    var $this = $(this);
    if($this.html() != ''){
       $this.html($this.html().replace('a','b').replace('x','y'));
    }
});

clone.html() will be null, if your selector doesn't find anything. This is because, when jQuery finds nothing, it returns a blank array. Also, calling html() on a set, will only get you the html value of the first item. You should probably be doing this in a loop.

var clone = $('div p, div ul').clone();
clone.each(function(){
    var $this = $(this);
    if($this.html() != ''){
       $this.html($this.html().replace('a','b').replace('x','y'));
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文