我需要从滚动的HTML源代码中提取元属性。滚动后的HTML代码包含如下
示例:
<meta property="og:site_name" content="asasasas">
<meta property="og:title" content="asajhskajhsaksp;" />
<meta property="og:image" content="images.cxs.com/2014/09/modit1.gif?w=209" />
这里我想得到的内容只有meta property="og:image"
,即结果应该只是
images.cxs.com/2014/09/modit1.gif?w=209
答案 0 :(得分:3)
使用jquery是如此困难
$('meta[property="og:image"]').attr('content')
答案 1 :(得分:1)
正如@Biffen所说,不要使用正则表达式来解析HTML。
如果在变量中有所述字符串,则可以使用querySelector(),如
var html = '<meta property="og:site_name" content="asasasas" /><meta property="og:title" content="asajhskajhsaksp;" /><meta property="og:image" content="images.cxs.com/2014/09/modit1.gif?w=209" />';
var el = document.createElement('div');
el.innerHTML = html;
var meta = el.querySelector('meta[property="og:image"]');
console.log(meta.content);
document.getElementById('result').innerHTML = meta.content;
&#13;
<div id="result"></div>
&#13;
如果它是当前页面的一部分,那么
var meta = document.querySelector('meta[property="og:image"]');
console.log(meta.content);
document.getElementById('result').innerHTML = meta.content;
&#13;
<meta property="og:site_name" content="asasasas"/>
<meta property="og:title" content="asajhskajhsaksp;" />
<meta property="og:image" content="images.cxs.com/2014/09/modit1.gif?w=209" />
<div id="result"></div>
&#13;
答案 2 :(得分:0)
您可以使用Arun建议的方法,但可能有用户代理不支持Selectors API或不支持所需的功能(例如IE8)。在这种情况下,您可以使用getElementsByTagName和普通旧的for循环。
var node, nodes = document.getElementsByTagName('meta');
for (var i=0, iLen=nodes.length; i<iLen; i++) {
node = nodes[i];
if (node.getAttribute('property') == 'og:image') {
// do something with content
console.log(node.content);
}
}
以上内容适用于任何使用中的浏览器,并且不需要任何外部库。