【问题标题】:If Meta exists get value and insert text into a div html?如果 Meta 存在获取值并将文本插入 div html?
【发布时间】:2015-11-02 15:29:30
【问题描述】:

我有一个外部应用程序包含但无法修改的全局标头。

确实有权添加元标记。我想检查他们是否添加了一个带有标题的元标记,如果它存在则取值并插入到一个 h2 空 div 中。

HTML

meta 标签如下所示:

<meta name="HeadTitle" id="HeadTitle" content="This Apps Title"/>

标记将如下所示:

 <div id="optionalTitle" class="col-md-5 col-md-offset-4 pull-right"><h2></h2></div>

JavaScript

如何检查元名称是否存在,如果存在,获取值并将其插入到h2 元素中?

  if ($('#HeadTitle').length) {
    // append content to optionalTitle h2
  }

更新进度

我是这样工作的

    if ($('#HeadTitle').length) {
            $('#optionalTitle > h2').append($('#HeadTitle').prop('content'));
     }  

但不是这样的

     var $meta = ($('#HeadTitle'));
       if ($meta.length) {
            $('#optionalTitle > h2').append($meta.prop('content'));
        }  

【问题讨论】:

    标签: javascript jquery meta


    【解决方案1】:

    只有在 JS 中你可以这样做:

    <!-- start head -->
    <meta charset="UTF-8">
    <meta name="HeadTitle" id="HeadTitle" content="This Apps Title"/>
    <title>Document</title>
    <!-- end head -->
    
    <!-- in body -->
    <h2 class="title" id="title"></h2>
    <script>
    var metaTitle = document.getElementById('HeadTitle'),
        title = document.getElementById('title'),
        content = metaTitle.getAttribute('content');
        if (!!content) {
            title.innerHTML = content;
        }
    
    </script>
    

    我认为 getAttributes 得到广泛支持,如果从 ie6 开始不支持 element.attributes 你可以看到一个使用示例here

    【讨论】:

      【解决方案2】:

      你可以使用这个: demo

      $(function () {
          var $HeadTitle = $('meta[name="HeadTitle"]');
      
          if ($HeadTitle.length) {
              $("#optionalTitle h2").text($HeadTitle.attr("content"));
          }
      });
      

      【讨论】:

        【解决方案3】:

        你在正确的轨道上。只需在适当的元素上使用.append() 方法:

        var $meta = $('#HeadTitle');
        if ($meta.length) {
            $('#optionalTitle > h2').append($meta.prop('content'));
        }
        

        如果您希望替换内容而不是追加内容,.text() 会更适合您。

        【讨论】:

        • 请看看我的进度。用 `$('#HeadTitle');` 定义 $meta 似乎不起作用。你怎么看?
        • 无视。它的工作! jQuery 必须在 js 代码之前加载!谢谢!
        【解决方案4】:

        做:

         if($('#HeadTitle').attr('content')){
             //your logic here
         }
        

        为你工作?

        【讨论】:

        • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
        • 这确实回答了他们的问题……他说他希望内容存在。以上就可以了。
        猜你喜欢
        • 2015-11-11
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 2018-11-25
        相关资源
        最近更新 更多