如何使用 jQuery 添加基于 URL 的“选定”类?

2023-12-02

我的 wikispace 主题中有一个侧边栏链接列表,当前使用 jQuery 根据 .com/ 之后的 URL 将类应用到每个侧边栏链接。您可以在下面的代码中看到这一点的应用......

<div class="WikiCustomNav WikiElement wiki"><a href="/" class="">Home</a>
<a href="/Calendar" class="calendar">Calendar</a>
<a href="/Science" class="science">Science</a>
<a href="/Language+Arts" class="language-arts">Language Arts</a>
<a href="/Video+Page" class="video-page">Video Page</a>
<a href="/Code+Page" class="code-page">Code Page</a>
<a href="/Geography" class="geography">Geography</a>
<a href="/Western+Day" class="western-day">Delicious Bookmarks</a>
<a href="/Field+Day" class="field-day">Field Day</a>
<a href="/Share+Posts" class="share-posts">Share Posts</a>
<a href="/Audio+Page" class="audio-page">Audio Page</a>
<a href="/Map+Page" class="map-page">Map Page</a>
<a href="/Staff+Olympics" class="staff-olympics">Staff Olympics</a>
<a href="/Scribd+Document" class="scribd-document">Scribd Document</a>
<a href="/Staff+Meetings" class="staff-meetings">Staff Meetings</a>
<a href="/Staff+Phone+Tree" class="staff-phone">Staff Phone Tree</a>
<a href="/Employee+Procedures" class="employee-procedures">Employee Procedures</a>
<a href="/Student+Handbook" class="student-handbook">Student Handbook</a>
<a href="/Table+Sorter" class="table-sorter">Table Sorter</a>
<a href="/Teachers+Tips" class="teachers-tips">Teachers Tips</a>

我不想通过基于 URL 的 jQuery 应用唯一的类,而是希望它向链接添加一个“selected”类,该类将通过 URL 进行检测。例如,如果用户转到“地理”页面,jQuery 将检测当前是否正在查看该 URL,如果是,则会将“selected”类应用于侧边栏链接。所以,它看起来像这样......

<ul>
<li><a href="/Geography" class="selected">Geography</a></li>
<li><a href="/Map+Page">Map Page</a></li>
<li><a href="/Staff+Olympics">Staff Olympics</a></li>
<li><a href="/Scribd+Document">Scribd Document</a></li>
<li><a href="/Staff+Meetings">Staff Meetings</a></li>
<li><a href="/Staff+Phone+Tree">Staff Phone Tree</a></li>
<li><a href="/Employee+Procedures">Employee Procedures</a></li>
<li><a href="/Student+Handbook">Student Handbook</a></li>
<li><a href="/Table+Sorter">Table Sorter</a></li>
<li><a href="/Teachers+Tips">Teachers Tips</a></li>
</ul>

在我上面提供的第一个代码示例中,您可以看到其中有无序列表,只有链接。我还想知道如何将所有这些链接包装在无序列表中,每个链接都包含在列表项中,就像第二个代码示例中一样。这相对容易做到吗?

我当前的侧边栏 jQuery 代码如下...

jQuery("#sidebar br").remove();
jQuery(".wiki_link, .wiki_link_new").attr('class','').each(function(){
    var className = jQuery(this).attr('href').substr(1).toLowerCase().split('+').slice(0,2).join('-');
    jQuery(this).addClass(className);
});

感谢您对此的帮助!

这是现在产生评论中提到的冲突的代码......

jQuery("#sidebar br").remove();
jQuery(".wiki_link, .wiki_link_new").attr("class", "").each(function () {
    var a = jQuery(this).attr("href").substr(1).toLowerCase().split("+").slice(0, 2).join("-");
    jQuery(this).addClass(a)
});

var $ul = $("<ul></ul>").insertAfter($("div#toc > h1"));
$("a[href^=#toc]").each(function () {
    var b = $("<li></li>"),
        a = $(this).parent();
    b.append(this);
    a.remove();
    $ul.append(b)
});

var loc = window.location.split("/").slice(-1);
jQuery("a.selected").removeClass("selected");
jQuery("a[href$='" + loc + "']").addClass("selected");
jQuery(".WikiCustomNav").wrapInner("<ul></ul>").find("a").wrap("<li></li>");
});

在线演示:http://jsbin.com/otapo

将测试 URL 粘贴到该演示页面上的文本框中,以查看它选择相应的链接。将文本框值更改为新的 test-url 以查看它取消选择任何选定的链接,然后选择与提供的 url 相对应的新链接。

根据 URL 添加“选定”类

var loc = window.location.split("/").slice(-1);
$("a.selected").removeClass("selected");
$("a[href$='"+loc+"']").addClass("selected");

这里的这个特殊例子需要一些解释。通常我会改变这个逻辑,并寻找兄弟姐妹,但考虑到您有兴趣将每个链接包装在 LI 中,这些链接将不再是兄弟姐妹。

我可以写这个来与每个链接周围的父 LI 一起工作,但是我不确定您是否会立即使用父 LI 对其进行测试,并认为它不起作用。话虽这么说,如果您实施以下解决方案,则可以改进该解决方案。在目前的状态下(不是很漂亮),它会以任何一种方式工作。

将链接转换为 UL

$(".WikiCustomNav").wrapInner("<ul></ul>").find("a").wrap("<li></li>");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 jQuery 添加基于 URL 的“选定”类? 的相关文章

随机推荐

  • EF Core LINQ 从包含的实体中排除列

    我将 ASP Net Core 2 0 与实体框架结合使用 并尝试将模型返回到包含就业实体的页面 其中还包括就业文档实体的集合 对于后者 我不想加载数据 byte 列 但我确实想要所有其他列 最重要的是 FileName 我加载所有内容 包
  • Ruby:如果数组 A 中不存在数组 B 中的项,如何从数组 A 中删除该项?

    我已经准备好了这两个数组 list of students Student where class param given class list of teachers Teacher where Student属于Teacher and
  • 文件上传到 AppEngine Blobstore

    按照此blob存储文档关于如何上传到 Blobstore 它展示了通过JSP Servlet的方式上传 由于我的应用程序基于 GWT 因此我需要将其改编为 GWT RPC 而不是 JSP 所以在我的应用程序 RPC 服务实现中 public
  • 部分应用Haskell中的几个函数

    假设 在 Haskell 中 我有一堆函数 它们都依赖于相同的参数类型 f Par gt a gt b g Par gt b gt c 当我编写更多仍然依赖于此参数类型的函数时 我可以执行类似的操作 h Par gt a gt c h pa
  • xcode 项目转换为 iOSOpenDev

    我想转换一个 常规 xcode 项目以使用iOSOpenDev 据我所知 当使用 iOSOpenDev 模板创建新项目时 它的构建设置中有以下内容 EXCLUDED RECURSIVE SEARCH PATH SUBDIRECTORIES
  • 通过 gganimate 制作动画条形图:在图下方用更改的文本注释框

    我想创建一个动画条形图gganimate包裹 在条形图下方 我想注释一个文本框 框中的文本应该随着时间的推移而改变 条形图的 x 轴应该移动 由view follow 但是 文本框应显示在绘图的固定点处 考虑以下示例 Create exam
  • 我们可以提交 xcode 6 beta 版本吗?如何为 iOS 8 准备应用程序?

    所以我已经在商店中发布了一个应用程序 现在想为 iOS8 做好准备 有些东西在 iOS8 上不再起作用 例如应用程序注册通知的方式 我通过添加新的未弃用的方法来修复它们 然而 我在某处读到 我们不应该提交使用 XCode6 beta 构建的
  • 需要更改日期格式

    我需要更改 A 列中的日期格式 我需要在其中获得类似的内容2020 年 7 月 21 日但我在电子邮件正文中收到的是这样的日期 2020 年 7 月 23 日星期四 00 00 00 GMT 0530 印度标准时间 你能帮我更改下面脚本中的
  • 解析不被括号包围的逗号

    输入是逗号分隔的字段列表 这是一个例子 tna performance ma performance 3 price 问题是某些 字段 的参数在方括号中指定 并且这些参数也有逗号 我可以使用什么正则表达式来打破逗号上的字符串 只有当它们在括
  • 输入“数字”时是否可以始终显示向上/向下箭头?

    我想始终显示输入 数字 字段的向上 向下箭头 这可能吗 到目前为止我还没有运气 http jsfiddle net oneeezy qunbnL6u HTML
  • SSL/TLS 1.2 连接问题 - PHP/SQLSRV

    我最近在 Web 服务器上禁用了 TLS 1 0 和 TLS 1 1 但这似乎对我正在运行的某些 PHP 站点造成了一些问题 有问题的错误是 Microsoft ODBC Driver 11 for SQL Server 客户端不支持加密
  • 如何在cefpython中调用MessageLoopWork?

    我做了一个简单的离屏渲染器头孢Python I used cefpython MessageLoop 但我想执行一个javascript函数browser GetFocusedFrame ExecuteFunction必须从主 UI 线程调
  • python 中的堆栈/列表 - 它如何追加?

    如果我有一个清单 list 1 apples apricots oranges 我将一个新项目添加到列表中 浆果 list 1 apples apricots oranges berries 在幕后 可以这么说 我想我记得读过Python创
  • 显示评估选择的输出 - Sublime Text Python REPL

    我正在使用 Sublime Text 3 并运行 OSX Mavericks 我正在使用 Sublime REPL 软件包 并且我已经调整了该软件包的设置 这样我就可以 show transferred text true 当打开 Pyth
  • python中将字符串与numpy数组中的格式化数字转换的最快方法是什么

    我有一个很大的 ASCII 文件 100GB 其中包含大约 1 000 000 行已知格式的数字 我尝试使用 python 对其进行处理 该文件太大 无法完全读入内存 因此我决定逐行处理该文件 fp open file name for c
  • Linq to 文件系统获取每个子文件夹中最后创建的文件

    我有一个包含一些子目录的文件夹 目录 只有那些子文件夹包含文件 我必须获取每个子文件夹中最后创建的文件的完整路径 仅需要每个子文件夹中最后创建的文件 我怎样才能做到这一点 我如何为此使用 linq to files Stem 像这样的事情会
  • 在 SSMS 中自动换行 IsNull([text], 0) 中选定文本的键盘快捷键

    是否有某种方法可以在 SQL Server Management Studio SSMS 中提供快捷方式 以便在选择文本时将该文本包装在 IsNull 语句中 例如 我突出显示以下文本 My column name 当我单击键盘快捷键时 突
  • C++ 除以 0

    我正在运行长时间模拟 我将结果记录到向量中以计算有关数据的统计信息 我意识到 从理论上讲 这些样本可能是除以零的结果 这只是理论上的 我很确定事实并非如此 为了避免修改代码后重新运行模拟 我想知道这种情况下会发生什么 我能知道是否发生了除以
  • 这两种使用express中间件的方法有区别吗?

    我遇到过两种不同的方式来定义 express use 中间件 我想知道它们之间是否有任何区别 或者它是否只是语法糖 A const app express app use cors app use responseTime app use
  • 如何使用 jQuery 添加基于 URL 的“选定”类?

    我的 wikispace 主题中有一个侧边栏链接列表 当前使用 jQuery 根据 com 之后的 URL 将类应用到每个侧边栏链接 您可以在下面的代码中看到这一点的应用 div class WikiCustomNav WikiElemen