$.parseHTML().error() 不是动态创建 DOM 元素时的函数错误

$.parseHTML().error() is not a function error when dynamically creating DOM elements

我正在使用 $.parseHTML() 从动态字符串创建 img 元素 所以我需要检查 img 是否使用给定的 src
成功创建 ps:图像托管在同一台服务器上,而不是外部 link。

<img id='lorem' src='someURL'>

我用了.error() methode as I fould in this Question.
我让它按预期工作,通过使用这个:

$('#lorem').error(function(){alert('img does not exist')})

然后当我再次开始使用 $.parseHTML() 时它不起作用
控制台显示 $.parseHTML(...).error is not a function
所以我使用 jQuery.type() 进行调试并得到一个数组!这不是预期的,因为我只创建了一个元素。
当我尝试一个一个地访问数组的成员时,它仍然不起作用
有什么建议么 ?提前致谢。

问题是因为 $.parseHTML returns 一个数组,它没有 error 方法。您需要先创建一个实际的 DOMElement,然后才能将 error 事件处理程序挂接到它。

从您的代码来看,$.parseHTML 是多余的,因为您可以正常创建元素,如下所示:

$('<img src="invalidURL" />').error(function() {
    alert('img does not exist');
})

Updated fiddle