我需要的信息在一个meta标签中。当property="video"
时,我如何访问meta标签中"content"
数据?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
我需要的信息在一个meta标签中。当property="video"
时,我如何访问meta标签中"content"
数据?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
其他答案可能已经解决了问题,但这个答案更简单,不需要使用 jQuery:
document.head.querySelector("[property~=video][content]").content;
原始问题使用了一个带有property=""
属性的RDFa标签。针对普通的HTML <meta name="" …>
标签,您可以使用以下内容:
document.querySelector('meta[name="description"]').content
document.head.querySelector
返回了null
,但是document.querySelector
完美地工作了。 - Robin van Baalen[content]
将该异常扩展到任何匹配标记缺少内容属性的情况。在我看来,在这种情况下获得空结果更有意义,但我想这取决于实现者的偏好。 - natevw<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
没有使用“/”,因此document.querySelector(meta[property='viewport'])
返回null。 - Biegacz
function getMeta(metaName) {
const metas = document.getElementsByTagName('meta');
for (let i = 0; i < metas.length; i++) {
if (metas[i].getAttribute('name') === metaName) {
return metas[i].getAttribute('content');
}
}
return '';
}
console.log(getMeta('video'));
document.querySelector("meta[property='og:url']").getAttribute('content')
- user1267177const
/let
的浏览器都应该支持 .querySelector
! - natevw一句话简介
document.querySelector("meta[property='og:image']").getAttribute("content");
有一种更简单的方法:
document.getElementsByName('name of metatag')[0].getAttribute('content')
document.querySelector
版本可以在 IE8 上正常工作,所以它非常适用。 - fregantefunction getMetaContentByName(name,content){
var content = (content==null)?'content':content;
return document.querySelector("meta[name='"+name+"']").getAttribute(content);
}
使用方式如下:
getMetaContentByName("video");
本页面上的示例:
getMetaContentByName("twitter:domain");
document.queryselector
包装在try语句中来解决这个问题,这样我就可以在出错的情况下默认获得""
。 - bgmCoder如果您使用jQuery,可以使用:
$("meta[property='video']").attr('content');
Jquery可以通过以下方式实现:
$("meta[property='video']");
在JavaScript中,您可以通过以下方式实现:
document.getElementsByTagName('meta').item(property='video');
document.getElementsByTagName('meta')['video'].getAttribute('content');
如果标记如下所示:<meta name="video" content="http://video.com/video33353.mp4" />
- samdeVdocument.querySelector('meta[property="video"]').content
通过这种方式,您可以获取元标记的内容。
方式 - [ 1 ]
function getMetaContent(property, name){
return document.head.querySelector("["+property+"="+name+"]").content;
}
console.log(getMetaContent('name', 'csrf-token'));
function getMetaContent(name){
return document.getElementsByTagName('meta')[name].getAttribute("content");
}
console.log(getMetaContent('csrf-token'));
function getMetaContent(name){
name = document.getElementsByTagName('meta')[name];
if(name != undefined){
name = name.getAttribute("content");
if(name != undefined){
return name;
}
}
return null;
}
console.log(getMetaContent('csrf-token'));
相比于获得错误,你得到了null
,这是好的。
很简单吧,对吧?
document.head.querySelector("meta[property=video]").content
name
属性,而不是property
属性。使用标准属性的开发者需要根据大多数答案提供的代码进行调整。 - Jens Bannmann