使用jQuery或PHP </title>编辑<title>标记

时间:2011-10-01 18:53:30

标签: php javascript jquery html

我有一些自制博客,在查看博客文章时我想更改标题标签以添加帖子标题,所以当我使用Twitter的推文按钮时,它会添加新按钮。我试过了:

<script type="text/javascript">

 $(document).ready(function() {

 $(this).attr("title", "<?php echo $tagValue["title"]." - YourCloud"; ?>");

});
</script>

和:     

 $(document).ready(function() {

 document.title = "<?php echo $tagValue["title"]." - YourCloud"; ?>";

});
</script>

但Tweet Button仍然有我在开始时设置的标题,我该如何解决这个问题呢?

修改 在我的index.php中我添加了标题标签,我想修改它,所以当你看到源它已经被修改了

5 个答案:

答案 0 :(得分:3)

我认为您要设置推文的文本,因为默认情况下文档标题是推文。好吧,你可以修改推文按钮代码来实现这一点。请参阅下面我添加'text'参数的锚元素的href。

<a href="https://twitter.com/share?text=any_text_you_want" class="twitter-share-button">Tweet</a>

更多信息 - https://dev.twitter.com/docs/tweet-button

答案 1 :(得分:2)

尝试改为

$("title").text("<?php echo $tagValue['title']." - YourCloud"; ?>");

答案 2 :(得分:0)

$("title").html("<?php echo $tagValue['title']." - YourCloud"; ?>");

答案 3 :(得分:0)

document.title是您应该用来更改页面标题的内容,f.ex:

document.title = 'Foo bar';

但听起来你正试图改变推文按钮的标题?

答案 4 :(得分:0)

首先,是的,我知道这有一个公认的答案 - 但我不确定这是不是他所追求的。

我不确定是否有人能够正确理解您的问题 - 在阅读完问题后,我仍然不是明智之举。

此外,document.title在此实例中超过jQuery

你说$("title").html("<?php echo $tagValue['title']." - YourCloud"; ?>");正在显示原始标题?那当然是。 所有PHP都在JavaScript之前执行,因此echo $tagValue['title']在整个JavaScript中基本上是一个静态值。因此,每次尝试更改时,都会在标题栏中加载相同的标题。

当您的PHP到达浏览器时,它不再是$("title").html("<?php echo $tagValue['title']." - YourCloud"; ?>");,而是$("title").html("My Title - YourCloud");

除非我理解错误的问题。你真的错过了这么多细节。设置$tagValue['title']的位置 - 值是多少?我假设PHP正在解析你的JS所以我不打算问你是否使用外部脚本。您对答案的期望是什么。

但是从我从你的脚本中读到并理解的一切 - 你为什么要用JavaScript改变标题呢?如果PHP将静态值放入您的页面,那么您也可以将<title><?php echo $tagValue['title']." - YourCloud"; ?></title>放在HTML的头部。 我可以通过JavaScript看到标题更改的唯一原因是当用户需要通知事件时 - 或者如果您使用像Ajax这样的东西来创建动态网站。

如果您可以发表评论,我会更新此帖子以及更多详细信息,并帮助我/每个人了解您的问题。

编辑: 如果你想通过按下按钮来编辑标题:为什么不在按钮上单击onclick并执行以下操作:

function test() {
 if(document.title.indexOf(" - YourCloud")==-1){
  document.title += " - YourCloud";
 }
}

没有经过测试,但是,这肯定对你有用。