【问题标题】:Jquery using Second word rather than first wordJquery 使用第二个单词而不是第一个单词
【发布时间】:2017-02-26 05:18:56
【问题描述】:

使用 jQueryListnav 在页面上显示一个漂亮的字母列表,除了客户端现在希望它按姓氏搜索而不是第一个,例如

Tom Jones - 它目前由 Tom 而不是 Jones 订购

https://github.com/esteinborn/jquery-listnav/blob/master/jquery-listnav.js

我将在哪里/如何修改这个脚本来做到这一点?

编辑 通过使用 Solfiene 的答案和一个小 Js 将姓氏包装在一个跨度中来修复:

$("#element").each(function(){
 var $this = $(this), text=$this.text().trim(), words = text.split(/\s+/);
 var lastWord = words.pop();
 words.push("<span class=\'last-word\'>" + lastWord + "</span>");
 $this.html(words.join(" "));
});

谢谢

【问题讨论】:

  • 您不能更改您的打印名称吗?而不是 [first name - last name],你能打印 [last name - first name] 吗?
  • 不,不是没有一些聪明的 php / jquery,因为名称是从数据库中打印出来的,但是@sofiene 给了我一个关于如何完成这个的想法。
  • 如果名称是“从数据库中打印出来的”(暗示单个“名称”字段),那么您将如何按照 Sofiene 的回答中的建议分隔姓氏?
  • 使用 jQuery 将姓氏包装在一个跨度中......:)

标签: jquery split trim


【解决方案1】:

您可以使用filterSelector 选项来实现此目的,您可以为导航指定一个 CSS 选择器以按姓氏过滤。

Javascript

$('#list').listnav({
    filterSelector: '.last-name',
});

HTML

<ul id="list">
  <li>Tom Jones<span classs="last-name" style="display: none;">Jones</span></li>
</ul>

ListNav Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多