如何从包含字符串的href值中获取li

Posted

技术标签:

【中文标题】如何从包含字符串的href值中获取li【英文标题】:How to get li from a href value containing string 【发布时间】:2021-09-13 08:33:00 【问题描述】:

我有以下html

<ul id="navigationMenuTop" class="nav navbar-nav" data-bind="foreach: getRoutes">
  <li data-bind="css: ..." >
    <a data-bind="attr  href: ...">

这会生成一个不错的顶部栏菜单,用户可以在其中转到他们有权访问的程序部分。

现在我需要获取 a 中的 href 包含“注册”的 li

我已经尝试了几件事,最新的是

$('.navigationMenuTop li a[href*="registration"]');

但还没有成功,有什么想法吗?

【问题讨论】:

你能解释一下为什么你需要得到这个&lt;li&gt; 元素吗?您正在迭代一个名为 getRoutes 的可观察数组。这个数组的每个元素都应该有一个在绑定attr: href: ... 中使用的属性。您可以在此对象中修改您的 &lt;li&gt; getRoutes 获取顶部菜单选项卡路由转发到程序的不同部分。这在启动时运行一次。我现在添加一个检查以查看程序的某个部分中是否有通知以点亮该程序部分的选项卡。此检查每 10 分钟运行一次。 【参考方案1】:

我认为你在这里混合了一些东西。

这不是淘汰赛题,更像是一道 jQuery + CSS 题。

navigationMenuTop 是 ID - 所以你不应该使用 dot 来访问它,这意味着类。

尝试 # 代替:

$('#navigationMenuTop li a[href*="registration"]');

【讨论】:

【参考方案2】:

可以使用parent函数获取匹配锚点的父节点

$('#navigationMenuTop a[href*="registration"]').parent();

您可以查看here

【讨论】:

【参考方案3】:
$("#navigationMenuTop").on('click','li',function ()
    alert($(this).text());
);

【讨论】:

这还不够,因为显示的文本会根据用户选择的语言而有所不同。

以上是关于如何从包含字符串的href值中获取li的主要内容,如果未能解决你的问题,请参考以下文章

如何从字符串值中获取数字代码?

如何从Java中的字符串值中获取枚举值

JQuery如何判断值中是不是包含某个值?

给定一个数组数组,如何从每个值中去掉子字符串“GB”?

如何将 yaml 字符串插入到 yaml 值中,就好像它是 yaml

从Hashmap的所有值中获取所有嵌套项