如何使用jQuery获取标题标签?

时间:2014-05-15 14:37:46

标签: javascript jquery

我有一些字符串形式的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标签内的文本?

10 个答案:

答案 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

都不支持此功能

FIDDLE

答案 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();