2016-11-29 78 views
0

我使用的是CMS和创建一个页面包装面包屑,将被应用到多个页面,以及我想要做的是如何将html页面的标题插入到锚标签的文本中?

以正在浏览的网页的<title>并将其插入的痕迹,面包屑会为每个页面动态更改。

不幸的是,CMS的内置内置函数不允许我简单地插入动态调用页面ID#[[S80:frID]]

我必须手动输入页面ID#,然后删除动态方面。所以我想采用JavaScript

我敢肯定,我可以做检索标题:

<script> 
$(document).ready(function() { 
    var pgTitle = document.title; 

    $("#pullTitle").text(" " + pgTitle); 

}); 
</script> 

,但我会如何对待这种情况,把它插入到一个锚标记的文字:

<a id="#pullTitle" href="internalpage"> </a> 

我上面试过的东西没有做任何事情。如果有人有任何建议,我将不胜感激。

谢谢!

+1

您使用jQuery的'text()'函数[okay](http://stackoverflow.com/a/901937/216084)。现在,如果它是动态创建的,或者重复ID的问题(如[Devin D]所示(http://stackoverflow.com/a/40871820/216084)) –

回答

3

我认为这个问题是简单地在锚ID的#。 jquery选择器中的#告诉它查看元素ID(而不是类。)

如果你删除它,这应该工作!

+1

哦,我一直在做我能想到的所有与javascript/jquery相关的东西,它甚至没有让我觉得它是锚定标签中的#哈哈感谢Devin,它终于有效! – Umeed

4

尝试: $("#pullTitle").html(" " + pgTitle);

这将导致:

<a id="pullTitle" href="internalpage">page title appears here</a>
+3

#代表一个id选择器,它不需要是id的一部分。ID应该是pullTitle而不是#pullTitle – Manish

+1

@Manish:收到你的评论,因为我正在纠正它:-)。谢谢你的收获。 – Pineda

1

可以在2号线在JavaScript实现这一点:

var titleBreadcrumb = document.getElementById('pullTitle'); 
titleBreadcrumb.textContent = document.title; 

甚至只是一条线,如果你想:

已添加#字符锚标签ID
document.getElementById('pullTitle').textContent = document.title; 
0

。这就是为什么它不工作。

https://jsfiddle.net/asimshahiddIT/a7w4yLd4/

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<title>Hello World</title> 
 

 
<script> 
 
$(document).ready(function() { 
 
    var pgTitle = $('title').text(); 
 

 
    $("#pullTitle").text(pgTitle); 
 

 
}); 
 
    </script> 
 
<body> 
 
<a id="pullTitle" href="internalpage">test </a> 
 
</body>

0

你可以使用这个: 1. $( “#pullTitle”)HTML(”“+ pgTitle)。或 2. var titleBreadcrumb = document.getElementById('pullTitle'); titleBreadcrumb.textContent = document.title;

相关问题