javascript - 如何从 HTML 字符串的 `head` 部分提取元素?

标签 javascript jquery html

我有一个变量 (s),它保存整个 HTML 文档(作为一个字符串)。我想从它的 head 部分中提取一些元素。使用 body 这不是问题,我将整个数据打包到 jQuery 变量中并调用 find

但是 head 部分是不同的故事。当我将它打包到 jQuery 对象时,我可以看到它为它创建了一个数组,并且我看到了我想要提取的元素(所以到目前为止它按我希望的方式工作)。但是当我针对它运行 find 时,jQuery 会完全忽略 head 及其内容。

那么如何从head中提取元素呢?

仅作记录,目前我正在尝试提取 link 节点以获取 CSS 文件的 url。

最佳答案

对于 DOM 中的顶级元素,您似乎必须使用 filter() 而不是 find()。

var html = $.parseHTML('<html><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><link rel="stylesheet" href="/css/inuit.css"><link rel="stylesheet" href="/css/inuit.css"><link rel="stylesheet" href="/css/inuit.css"></head><body></body></html>');

$(html).filter("link").each(function(i, link) {
    alert(link);  
});

这会提醒字符串中的三个链接。

关于javascript - 如何从 HTML 字符串的 `head` 部分提取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288693/

相关文章:

JQuery 指令不能仅在一个目标上切换类

javascript - jQuery 代码性能改进

javascript - Meteor 上所有 <a> 的链接事件

javascript - 为什么 pop 比 shift 快?

javascript - jQuery 变量更改、更新文本框

javascript - 在旋转木马顶部放置一个 div

jQuery 使用动态更改的 onclick 类选择和取消选择元素

javascript - Jquery精炼表结果: two or more logic statements

javascript - 有条件地链接数组方法

Javascript:解析 csv 中的字符串返回 NaN (不是数字)