如何为标签的部分内容提供 ID <title> ?

  • 本文关键字:ID title 标签 javascript html
  • 更新时间 :
  • 英文 :


我有一个标题标签,看起来像这样:

<title>My Page Title - Photo #3</title>

我想使用JavaScript来改变它的数字部分,而不必硬编码"我的页面标题-照片#"字符串生成的服务器端。

我尝试将数字包装在一个span中,以便我可以更改span的内容:

<title>My Page Title - Photo #<span class="photoid">3</span></title>

但是似乎在title标签中不允许使用HTML。如果可能的话,我真的希望采用类方法,因为这将允许我使用一行jquery,例如:

$('.photoid').html(new_photoid);

我有没有提到照片出现在页面上的几个地方,这就是为什么我希望能够使用这个在线工具同时更改它们?例如:

<p>A paragraph also containing the number <span class="photoid">3</span></p>

标题只能有文本,所以需要解析出来。

document.title = document.title.replace(/d+$/, "new value");

title不能这样设置,它不是。html

的子元素

比如

var num = 3;
document.title = "foo "+num

设置标题,然后为这些照片重用num。

使用jQuery的onDocumentReady语法:
$(function () {
    var elements = $('.contains_photoid');
    elements.html(elements.html().replace("3", "4"));
    $(document).attr('title', $(document).attr('title').replace("3", "4"));
});

在本例中看不到标题的变化,但这就是语法。参见使用Jquery更改页面标题

"3""4"可以改变为任何东西,所以你可以用一个唯一的字符串来代替真实的ID,以便很容易地替换它,如果它出现在文本中的数字已经在它。

http://jsfiddle.net/ZmXj5/1/

Javascript

var photoID = 355; //this assumes you have some code where you set this photoID value
var title = document.title;
title = title.substr(0,title.lastIndexOf('#')+1);
document.title = title+photoID;
http://jsfiddle.net/xrkhA/
(我使用div内容,因为你不能在jsfiddle中使用标题)

你可以使用,但是$('title')在IE8中将失败

document.title="new title";

$('title').html('new title');  

$(document).attr('title','new title');  

相关内容

最新更新