javascript - JQuery 如何获取生成的 html 的 <title>

标签 javascript jquery dom

我在变量中有一个完整的 html 文档,但我不知道如何获取标题。尝试了下面的代码,但它只适用于特定的 div,我不知道为什么。

//valid html
var data='<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>MyTitle</title><meta name="description" content="MyDEsc" /></head><body><div id="header">header content</div><div class="container" id="wrapper">Default body<div id="home">home</div><div id="project"><div>content</div><div>content</div><div>content</div></div></div></body></html>'

console.log($(data).find('title').text()) //nothing
console.log($('title', $(data)).text()) //nothing
console.log('header :' + $('#header', $(data)).html()) //undefined
console.log('header :' + $('#home', $(data)).html()) //expected value
console.log('project :' + $('#project', $(data)).html()) //expected value

此处演示:http://jsfiddle.net/22RLk/

最佳答案

您的 html、head 和 body 标签已被删除,因此您最终得到的是元素的集合而不是完整的文档。标题是这些元素之一。

console.log($(data).filter('title').text())

http://jsfiddle.net/22RLk/3/

如果你想创建一个文档你可以使用

document.implementation.createHTMLDocument(data)

create a javascript document Object
How to create Document objects with JavaScript

关于javascript - JQuery 如何获取生成的 html 的 &lt;title&gt;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760327/

相关文章:

JavaScript forEach 实现

javascript - jQuery 修复了在滚动时缩小到较小尺寸的导航栏是 super 马车

javascript - getElementByID 中的 getElementsByTagName

javascript - 将现有事件注册到 ajax 加载的 DOM?

javascript - 即使未指定 id,JavaScript DOM 元素是否也有唯一标识符?

javascript - 返回选项卡时触发功能

javascript - SCRIPT5007 无法获取属性 'indexOf' 的值

angular - elementRef.nativeElement.remove() 对浏览器有什么负面影响吗?

javascript - 真的与 JS 异步混淆(调用 2 API)

jquery - 使用 Bootstrap 弹出窗口时从数据库加载数据