我有一些字符串形式的HTML。
var html = "
<html>
<head>
<title>
Some Text
</title>
</head>
<body>
<h1>
My First Heading
</h1>
<p>
My first paragraph.
</p>
</body>
</html>
";
里面有标题标签。 如何使用jquery或javascript获取title标签内的文本?
答案 0 :(得分:25)
试试:
var title = $(html).filter('title').text();
答案 1 :(得分:7)
因为到目前为止还没有人提到它,你也可以使用document.implementation.createHTMLDocument()
来实现这个目的。
var domstr = "<html><head><title>Some Text</title></head><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>";
doc = document.implementation.createHTMLDocument('1337');
doc.documentElement.innerHTML = domstr;
alert( doc.title );
答案 2 :(得分:6)
这是我对它的抨击。创建documentFragment向其添加元素并使用querySelector
获取元素,然后使用textContent
获取文本。
var html = "<html><head><title>Some Text</title></head><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>",
docFrag = document.createDocumentFragment(),
el = document.createElement('html');
el.innerHTML = html;
docFrag.appendChild(el);
var text = docFrag.querySelector('title').textContent;
<强> Live Demo 强>
答案 3 :(得分:4)
如何使用DOMparser
var html = "<html><head><title>Some Text</title></head><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>",
doc = (new DOMParser()).parseFromString(html, 'text/html');
title = doc.title;
注意:任何版本的Safari
都不支持此功能答案 4 :(得分:3)
在JavaScript中,只需
document.title
示例代码
<html>
<head>
<title>My Page Title</title>
</head>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = document.title;
</script>
</body>
</html>
答案 5 :(得分:0)
html.match(/<title>(.*)<\/title>/)[1]
答案 6 :(得分:0)
如果你可以使用jQuery,显然不是首选,但对于纯Javascript:
/<title>(.*)<\/title>/.exec(html)[1]
答案 7 :(得分:0)
html.substring(html.indexOf('<title>')+7, html.indexOf('</title>'))
答案 8 :(得分:0)
您可以使用此jQuery选择器获取该文本。
$(function(){
var html = "<html><head><title>Some Text</title></head><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>";
var titleHTML = $(html).find("title").html();
alert(titleHTML);
});
它会警告&#34;某些文字&#34;
答案 9 :(得分:0)
你也可以试试这个:
$('head > title').text();