Jquery document.title在标记之间获取文本

Jquery document.title在标记之间获取文本,jquery,html,Jquery,Html,很难找到一个好的标题,但希望这是好的 我现在正在使用: document.title = page + ' - ' + originalTitle 因此,结果现在是“index-originaltle”。但我会将“页面”更改为类似“a id”的内容,或者只是接管a标记之间的文本,例如: document.title = a id + ' - ' + originalTitle 因此结果将是“Home-originaltle” 我想很容易修复,但在谷歌上很难找到解决方案 编辑:让我输入

很难找到一个好的标题,但希望这是好的

我现在正在使用:

document.title = page + ' - ' + originalTitle

因此,结果现在是“index-originaltle”。但我会将“页面”更改为类似“a id”的内容,或者只是接管a标记之间的文本,例如:

document.title = a id + ' - ' + originalTitle

因此结果将是
“Home-originaltle”

我想很容易修复,但在谷歌上很难找到解决方案

编辑:让我输入完整的代码来指定我的注释

    $(function(){
// part 1
        $('#buttons a, nav a').click(function(){
            location.hash=$(this).attr('href').match(/(^.*)\./)[1]
            $('html, body').animate({ scrollTop: 0 }, 0);
            return false
        })
// part 2
        var originalTitle=document.title
        function hashChange(){
            var page=location.hash.slice(1)
            if (page!=""){
                $('#content').load(page+".php #content")
                document.title = $('#Home').text() + ' - ' + originalTitle
                document.title = $('#Projects').text() + ' - ' + originalTitle
                document.title = $('#About').text() + ' - ' + originalTitle
            }
        }
// part 3
        if ("onhashchange" in window){ // cool browser
            $(window).on('hashchange',hashChange).trigger('hashchange')
        }else{ // lame browser
            var lastHash=''
            setInterval(function(){
                if (lastHash!=location.hash)
                    hashChange()
                lastHash=location.hash
            },100)
        }
    })
我的导航

<div id=buttons">
    <a id="Home" href="index.php">Home</a><span>|</span>
    <a id="Projects" href="Projects.php">Projects</a><span>|</span>
    <a id="About" href="about.php">About</a><span>|</span>
</div>

您可以检索ID中的文本并将其附加到文档标题,如下所示:

document.title = $('#Home').text() + ' - ' + originalTitle
这将选择ID为“home”的元素 $(“#家”)


将引用元素中的文本。

您可以检索ID中的文本并将其附加到文档标题,如下所示:

document.title = $('#Home').text() + ' - ' + originalTitle
这将选择ID为“home”的元素 $(“#家”)


将引用元素中的文本。

在HTML5中,您可以将前缀为
data-
的自定义属性设置为元素并获取有效的HTML:

<a href="index.html" data-doc-title="Home">Homepage</a>
这样,您就可以根据ID和锚文本值定义独立的标题前缀

有关
数据-*
属性的更多信息,请参见


编辑: 您也可以很容易地在vanilla JavaScript中访问这些
数据-*
值:

<a href="#" id="yourid" data-doc-title="Your Title">Some Text</a>
请注意:使用
datasets
属性比使用
getAttribute()
慢,并且不适用于早于11的Internet Explorer版本(请改用
getAttribute()


来源:

在HTML5中,您可以将前缀为
数据-
的自定义属性设置为元素,并获取有效的HTML:

<a href="index.html" data-doc-title="Home">Homepage</a>
这样,您就可以根据ID和锚文本值定义独立的标题前缀

有关
数据-*
属性的更多信息,请参见


编辑: 您也可以很容易地在vanilla JavaScript中访问这些
数据-*
值:

<a href="#" id="yourid" data-doc-title="Your Title">Some Text</a>
请注意:使用
datasets
属性比使用
getAttribute()
慢,并且不适用于早于11的Internet Explorer版本(请改用
getAttribute()


来源:

作为一名用户,我希望页面标题会更改为我选择的导航链接的标题,为什么需要使用数据前缀?不要试图抨击你的实现,想象一下在网页的某个地方有一个链接“回到图库”。滥用元素id并不酷,从链接中提取标题也不会产生想要的结果(我猜)。对于导航中的链接,您可能是对的,@N.J.Dawson。@Jorus只需查看包含修改代码的基本html文件(将其复制到本地html文件中,并在浏览器中打开)。如您所见,我添加了一个
var doc\u title=undefined所以我们有一个变量,可以存储标题。在
click()
函数中,我放置了部件,它从
元素获取
数据-*
属性。最后,在
hashChange()
函数中,我们将文档标题设置为变量(如果变量为空,则设置为nothing)。JSFIDLE无法处理哈希更改。;)@乔卢斯啊,我明白了。
hashChange()
功能也会在站点加载时执行。看一看这行,其中设置了
文档.标题
。将末尾的empy引号替换为
originaltile
变量,它应该可以工作。如果尚未单击任何链接,则这是回退。我也会更新要点,以反映这一变化。作为一个用户,我希望页面的标题会更改为我选择的导航链接的标题,为什么您需要使用数据前缀?不要试图抨击你的实现,想象一下在网页的某个地方有一个链接“回到图库”。滥用元素id并不酷,从链接中提取标题也不会产生想要的结果(我猜)。对于导航中的链接,您可能是对的,@N.J.Dawson。@Jorus只需查看包含修改代码的基本html文件(将其复制到本地html文件中,并在浏览器中打开)。如您所见,我添加了一个
var doc\u title=undefined所以我们有一个变量,可以存储标题。在
click()
函数中,我放置了部件,它从
元素获取
数据-*
属性。最后,在
hashChange()
函数中,我们将文档标题设置为变量(如果变量为空,则设置为nothing)。JSFIDLE无法处理哈希更改。;)@乔卢斯啊,我明白了。
hashChange()
功能也会在站点加载时执行。看一看这行,其中设置了
文档.标题
。将末尾的empy引号替换为
originaltile
变量,它应该可以工作。如果尚未单击任何链接,则这是回退。我也会更新要点,以反映这一变化。谢谢大家的反应。是否可以有多个文档标题?因为当我这样做的时候,它不起作用。我的情况是,我将它与ajax.load结合使用。谢谢大家的反应。是否可以有多个文档标题?因为当我这样做的时候,它不起作用。我的情况是,我将它与ajax.load结合使用。