我需要检查我的地址是否有任何与我的 li id 中的单词匹配的单词:
<ul>
<li id="filter-myId" class="noSelected">Text</li>
</ul>
要检查的网址地址示例:
http://www_link.com/D=.myId
但是在窗口地址栏上,它只显示"myId"而不显示"filter-",所以我想我需要检查"filter-"之后的任何内容是否与窗口地址上出现的字符串匹配。如果是这样,li将得到一个"选择"类
帮助?
我建议,虽然目前未经测试,但大致如下:
var string = document.location.href.split('=')[1];
if ($('li[id*="' + string + '"]').length){
$('li[id*="' + string + '"]').addClass('selected');
}
要将搜索限制为具有filter-
前缀的li
元素,请执行以下操作:
var string = document.location.href.split('=')[1];
if ($('li[id^="filter-"][id*="' + string + '"]').length){
$('li[id^="filter-"][id*="' + string + '"]').addClass('selected');
}
引用:
- 属性包含 (
[attribute*="value"]
) 选择器。 - 属性开头为 (
[attribute^="value"]
) 选择器。
您需要以某种方式解析 URL。我省略了这部分,但假设它被放置在一个名为 url
的对象中。
爪哇语
if (elem = document.getElementById('filter-' + url['D'])) {
// exists
elem.className += ' selected';
}
jQuery
elem = $('#filter-' + url['D']);
if (elem.length) {
// exists
elem.addClass('selected');
}