将div计数插入页面标题的中间位置

时间:2013-04-09 18:54:25

标签: jquery html count title

我目前正在使用......

$(function () { 
    var title = document.title; 
    var count = $('.div').length; 
    $(this).attr("title", title + ' (' + count + ') ' + ' - Category Page');
});

...在页面标题中添加一个数字。使用这种方法只允许我在“计数”之后得到任何东西+ - 具有相同的措辞。

我将如何改变这一点,以便在HTML标题标签中,我可以 - 类别页面,或任何内联,并且只能在连字符之前通过jquery插入数字?

HTML现在......

<title>Bicycles</title>

我想要什么...

<title>Bicycles - Category Page</title>

然后让jquery在连字符之前添加div计数。

3 个答案:

答案 0 :(得分:1)

最终这取决于你,并没有真正的标准可循。这完全取决于您决定如何擦除标题的内容。例如决定它是来自服务器端,是否是硬编码等等。我说清理你的内容以获取标题,因为为了插入这个数字你将不得不有某种占位符。或许使用()然后定位它是有意义的。也许你会使用_count_。这是实施由您和您的代码来执行的地方。它必须是这种方式,因为你将在字符串中搜索它。

$(function () { //if you were inserting count into ()
 var title = document.title;
 var count = $('.div').length; 
 var ind = title.indexOf("()");
 title = title.substr(0,ind+1) + count + title.substr(ind+2,title.length);
 $(this).attr("title", title);
});

另一种方法是跟踪上面提到的两个子串。即前缀和后缀。这样你就可以做更简单的事情。

$(function () {
 var prefix = "Some Title";
 var suffix = "Category";
 var count = $('.div').length; 
 $(this).attr("title", prefix + ' (' + count + ') ' + ' - ' + suffix);
});

答案 1 :(得分:0)

使用sprintfSO question with links and explanation explanation on it)。请注意,它不在标准的JavaScript库中,而是扩展名。

这样的东西
<!--in the title-->
<title>There are %d rabbits in the basket</title>

$(function () { 
    var title = document.title; 
    var count = $('.div').length; 
    $(this).attr("title", sprintf(title, count));
});

答案 2 :(得分:0)

尝试

$(function () { 
    var title = document.title; 
    var count = $('.div').length;

    document.title = title + "( " + count + " ) - Category Page"; 
});