使用jquery缩写数据库输出

时间:2009-09-22 17:17:51

标签: php jquery wordpress

我正在寻找一种方法来限制使用jquery在标题中显示的字符数量。基本上,标题是从数据库中检索出来的,但我只希望结果显示在一个设定宽度的一行上,所以想要限制输出或缩写它以阻止下面的图像被推得太远。

以下Live example应该显示我的意思,向下滚动一下,你会看到2或3行长的图像标题。

希望有人能帮忙!!!!

2 个答案:

答案 0 :(得分:2)

Dan,我对你正在寻找的东西感到有点困惑,但听起来你想要一些代码来截断某个字段的字符长度。我注意到你在PHP上标记了这个问题 - 在服务器端处理它可能更好。但是,如果您已经开始使用Jquery,那么可能有一种简单的方法。

要弄清楚的关键是,您将使用什么模式来识别页面中的字段标记(即,您将编写哪种jquery选择器来选择所需的标记)?一旦关闭,javascript的.slice()函数将实现你想要的。

所以这是一个例子。根据您链接的页面,我将说明我们可以通过选择任何span标记来选择您的字段输出,该标记是作为列表项的直接子项的锚标记的直接子标记。

$('li > a > span')

然后从那里我们可以获取跨度的内容,检查宽度,并在需要时截断。

(未经测试,但提出了想法)

<script type="text/javascript">

    var MAX_TITLE_LENGTH = 75;

    // on page load...
    $(function() {
        truncateImageTitles();      
    });

    function truncateImageTitles() {
        $('li > a > span').each(
            if (this.text().length > MAX_TITLE_LENGTH)
                this.text(this.text().slice(0,MAX_TITLE_LENGTH));
        );
    }

</script>

答案 1 :(得分:1)

正如T.斯通说的那样,使用PHP修剪会起作用,但是你必须弄清楚你是否要修剪标题或后端的前端。 Lots of examples.我在自己的wordpress网站上使用了标题修剪。这会修剪帖子标题中的前13个字符,而不是the_title。

<?php $mytitle = get_the_title(); $mytitle = substr($mytitle,13); echo $mytitle; ?>