【问题标题】:append wordpress post title with jquery用 jquery 附加 wordpress 帖子标题
【发布时间】:2010-11-23 15:54:13
【问题描述】:

我想在我的 jquery 选择器之后添加标题 <?php the_title(); ?>

('a img').after('<span>the title here</span>'); 

【问题讨论】:

  • 在每个 img 之后显示所有标题
  • 感谢 Dominic 好主意,但在 img 之后我发现 里面没有任何内容

标签: jquery wordpress title


【解决方案1】:

PHP 代码在服务器上解释,jQuery 代码在浏览器中(PHP 解释器完成很久之后)。他们真的看不见对方。

你可以将the_title()的值放在页面的某个元素中,然后使用jQuery定位并添加:

var title = $('#the_title').text();
$('a img').after('<span>' + title + '</span>'); 

[编辑] 如果您有多个标题,那么您必须以某种方式将它们映射到图像。有很多方法可以做到这一点:

  • 您可以将图像的名称发送到 PHP 服务器,让它查找标题并将其发回。查找$().json()

  • 您可以将所有标题放在一段 HTML 中,通过将其包裹在 &lt;div style="display: none;"&gt; 中使其不可见。然后,在您的 jQuery 中,您可以将图像映射到标题。

【讨论】:

  • 或者直接将标题添加到一个javascript变量中,设置在jquery代码之前。
【解决方案2】:

亚伦说了什么。

但也许使用自定义数据属性(因此它在 HTML5 中验证)。

在你的 PHP 中:

<img data-title="<?php the_title(); ?>" src="..." />

在 javascript (jQuery) 中:

$('a img').each(function(){
   var title = $(this).attr("data-title");
   $(this).after('<span>' + title + '</span>');
});

未经测试,但就是这样。已测试。

【讨论】:

  • 我的代码有误。我刚刚测试了它,现在它已经更正了。道歉。如果它是一个空的跨度,其中没有任何内容,那么它可能是 the_title 的问题。 The_title 返回文章/页面的标题,并且必须在循环内运行——这就是你想要做的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 2017-04-21
  • 2013-05-28
  • 2011-12-19
相关资源
最近更新 更多