如何从使用jQuery读取所有<meta ..>?</meta ..>

时间:2011-10-18 04:25:00

标签: javascript jquery meta-tags

在页面<head>中,我有<script><style><link><meta>个标签。我只是想从头部读取元信息,而不是别的。我主要对<meta name="description"..><meta name="keywords"...>感兴趣。

我想要完整的元标记,而不是它的内容。我知道我可以通过

来阅读内容
$('head meta[name=descritption]').attr('content')

但那不是我想要的。我想要一个像

这样的输出
<meta name="description" content="" >
<meta name="keywords" content="" >

有效的方法是什么?

4 个答案:

答案 0 :(得分:1)

document.getElementsByTagName("meta");

那就行了。哦,看,没有必要的jQuery,因为它是一个简单的标签选择。

但是,如果jQuery是必须的:

$("meta");

另一方面,如果您只想要所有元标记,为什么还要做其他事情呢?

答案 1 :(得分:1)

jQuery没有简单的说法“获取当前所选元素的HTML”。您的元标记也可能没有内容,因此您只需要元标记的HTML。我不确定为什么你把[name=description]条件放在那里因为它似乎与你想要的东西相矛盾,但你可以保留它:

var html = '';
$("head meta").each(function () {
    html += $(this).clone().wrap('<div>').parent().html();
});
alert(html);

答案 2 :(得分:0)

以下内容返回所有元标记的数组:

$('meta'); // [<meta name="description" content="">, etc, etc]

答案 3 :(得分:0)

$('head meta')为您提供了一组jQuery对象,您可以使用.get(n)将第n个作为常规DOM对象。在此页面上:

$('head meta').get(0)

给出

<meta name="title" content="javascript - jQuery how do i read all &amp;lt;meta..&amp;gt; from &amp;lt;head&amp;gt; - Stack Overflow">