我需要的信息在一个元标签中。当属性=“视频”时,我如何访问元标签的“内容”数据?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
我需要的信息在一个元标签中。当属性=“视频”时,我如何访问元标签的“内容”数据?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
当前回答
供参考,根据https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta全局属性是有效的,这意味着id属性可以与getElementById一起使用。
其他回答
使用元根,然后获取和设置它的任何属性:
let meta = document.getElementsByTagName('meta')
console.log(meta.video.content)
> "http://video.com/video33353.mp4"
meta.video.content = "https://www.example.com/newlink"
路- [1]
function getMetaContent(property, name){
return document.head.querySelector("["+property+"="+name+"]").content;
}
console.log(getMetaContent('name', 'csrf-token'));
你可能会得到错误: 无法读取属性“getAttribute”为空
路- [2]
function getMetaContent(name){
return document.getElementsByTagName('meta')[name].getAttribute("content");
}
console.log(getMetaContent('csrf-token'));
你可能会得到错误: 无法读取属性“getAttribute”为空
路- [3]
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'));
而不是得到error,得到null,这很好。
如果你使用JQuery,你可以使用:
$("meta[property='video']").attr('content');
这里有一行
document.querySelector("meta[property='og:image']").getAttribute("content");
其他答案应该可以做到这一点,但这一个更简单,不需要jQuery:
document.head.querySelector("[property~=video][content]").content;
最初的问题使用了带有property=""属性的RDFa标记。对于正常的HTML <meta name=""…>标签,您可以使用如下内容:
document.querySelector('meta[name="description"]').content