【问题标题】:get value of an attribute after matching value of another attribute匹配另一个属性的值后获取一个属性的值
【发布时间】:2011-12-13 21:37:36
【问题描述】:

我对 jQuery/javascript 完全陌生,并且几天来一直在努力解决这个简单的任务。

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

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

所以我想获取文本“Leaders Say Progress Made In Dealing With Euro Crisis”,并可能将其写在页面中或将其传递给另一个函数。

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

【问题讨论】:

    标签: jquery jquery-selectors attributes


    【解决方案1】:

    试试

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        试试

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

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

        【讨论】:

          【解决方案4】:

          试试这个插件:

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

          或者你可以试试:

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

          Working DEMO

          【讨论】:

          • 我无法使用该插件,看起来它只检查 2 种属性。它确实帮助我理解了语法。
          【解决方案5】:

          您的代码不起作用的原因是您的选择器错误。 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 );
          

          【讨论】:

          • 谢谢,我在语法上遇到了很多麻烦。我现在开始弄明白了……
          猜你喜欢
          • 1970-01-01
          • 2023-03-06
          • 1970-01-01
          • 2018-03-15
          • 2015-02-11
          • 1970-01-01
          • 2017-09-07
          • 1970-01-01
          • 2020-03-02
          相关资源
          最近更新 更多