【发布时间】:2010-11-23 15:54:13
【问题描述】:
我想在我的 jquery 选择器之后添加标题 <?php the_title(); ?>
('a img').after('<span>the title here</span>');
【问题讨论】:
-
在每个 img 之后显示所有标题
-
感谢 Dominic 好主意,但在 img 之后我发现 里面没有任何内容
我想在我的 jquery 选择器之后添加标题 <?php the_title(); ?>
('a img').after('<span>the title here</span>');
【问题讨论】:
PHP 代码在服务器上解释,jQuery 代码在浏览器中(PHP 解释器完成很久之后)。他们真的看不见对方。
你可以将the_title()的值放在页面的某个元素中,然后使用jQuery定位并添加:
var title = $('#the_title').text();
$('a img').after('<span>' + title + '</span>');
[编辑] 如果您有多个标题,那么您必须以某种方式将它们映射到图像。有很多方法可以做到这一点:
您可以将图像的名称发送到 PHP 服务器,让它查找标题并将其发回。查找$().json()。
您可以将所有标题放在一段 HTML 中,通过将其包裹在 <div style="display: none;"> 中使其不可见。然后,在您的 jQuery 中,您可以将图像映射到标题。
【讨论】:
亚伦说了什么。
但也许使用自定义数据属性(因此它在 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>');
});
—
未经测试,但就是这样。已测试。
【讨论】: