📅  最后修改于: 2023-12-03 15:16:41.141000             🧑  作者: Mango
在 jQuery 中,我们可以使用 .each()
方法从一个数组或对象中遍历并对每个元素进行操作。但是,在某些情况下,我们可能需要从一个字符串 HTML 中取出某些元素并进行操作。这就需要使用另一个 jQuery 方法 $.parseHTML()
将字符串 HTML 转换为 DOM 对象,再通过 .each()
方法进行操作。
下面是一个示例代码片段:
var htmlString = '<div><span>Hello</span><span>World</span></div>';
var domElements = $.parseHTML(htmlString);
$(domElements).each(function(index, element) {
// 对每个元素进行操作
console.log(index, element);
});
在上面的示例中,我们首先定义字符串 HTML,然后通过 $.parseHTML()
方法将其转换为 DOM 对象。接着,我们使用 .each()
方法对每个 DOM 元素进行操作。在本例中,我们只是简单地打印了每个元素的索引和对象。
需要注意的是,在使用 $.parseHTML()
方法进行字符串 HTML 解析时,返回的是一个 DOM 对象数组,而不是 jQuery 对象。因此,在对其进行操作时需要将其转换为 jQuery 对象。可以使用 $()
或者 jQuery()
方法进行转换,如下所示:
var htmlString = '<div><span>Hello</span><span>World</span></div>';
var domElements = $.parseHTML(htmlString);
var $domElements = $(domElements);
$domElements.each(function(index, element) {
// 对每个元素进行操作
console.log(index, element);
});
以上的示例中,我们将 DOM 对象数组转换为了 jQuery 对象,并在 .each()
方法中使用 $domElements
进行操作。
总的来说,使用 jQuery each 从字符串 HTML 中遍历需要先通过 $.parseHTML()
将字符串 HTML 转换为 DOM 对象,再使用 .each()
方法进行操作,并在操作前将 DOM 对象数组转换为 jQuery 对象。