我目前正在使用......
$(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计数。
答案 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)
使用sprintf
(SO 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";
});