在匹配另一个属性的值之后获取属性的值

时间:2011-10-24 06:49:28

标签: jquery jquery-selectors attributes

我是jQuery / javascript的新手,几天来一直在打击这个简单的任务。

我想在属性为property="og:title"的页面中找到元素,然后获取属性"content"的值,例如:

<meta property="og:title" content="Leaders Say Progress Made in Dealing With Euro Crisis"/>

所以我希望得到“领导者在应对欧元危机方面取得进展”的文本,或者将其写在页面中或将其传递给另一个函数。

我如何获取内容属性的值?我试过.$("meta [property='og:title']"),但后来我意识到会尝试获取不存在的文本元素。

5 个答案:

答案 0 :(得分:3)

尝试

$('meta[property="og:title"]').attr('content');

答案 1 :(得分:1)

$('meta[property="og:title"]').each(function(){
   var contentVal = $(this).attr("content");
});

如果多个元标记具有相同的属性

答案 2 :(得分:1)

$("meta[property='og:title']").attr("content")

答案 3 :(得分:0)

试试这个插件:

http://code.google.com/p/wt-plugins/wiki/wtMeta

或者您可以尝试:

  $("meta[property='og:title']").attr("content")

Working DEMO

答案 4 :(得分:0)

您的代码无效的原因是您的选择器错误。您在meta[property ..]之间有一个空格,不应该有一个空格。

如果有一个元标记:

var meta_content = $("meta[property='og:title']").attr('content');
writeToPage( meta_content ); // Pass to a function to change the DOM.

如果有多个:

var meta_content = [];
$("meta[property='og:title']").each(function () {
  meta_content.push( $(this).attr('content');
});
writeToPage( meta_content );