我有一个全局标题,外部应用程序包含但无法修改。
有权添加元标记。我想检查他们是否添加带有标题的元标记,如果它存在,则取值并插入到h2空div中。
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>
如何检查元名是否存在,如果存在,请获取值并将其插入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'));
}
答案 0 :(得分:1)
你走在正确的轨道上。只需在适当的元素上使用.append()
方法:
var $meta = $('#HeadTitle');
if ($meta.length) {
$('#optionalTitle > h2').append($meta.prop('content'));
}
如果您希望替换内容而不是附加内容,.text()
会更适合您。
答案 1 :(得分:1)
你可以用这个: 的 demo 强>
$(function () {
var $HeadTitle = $('meta[name="HeadTitle"]');
if ($HeadTitle.length) {
$("#optionalTitle h2").text($HeadTitle.attr("content"));
}
});
答案 2 :(得分:0)
的作用:
if($('#HeadTitle').attr('content')){
//your logic here
}
为你工作?
答案 3 :(得分:0)
在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>
我认为如果不支持element.attributes,则广泛支持getAttributes,因为ie6你可以看到一个使用的例子here