0

我需要检查我的地址是否有任何与我的 li id 中的单词匹配的单词:

<ul>
   <li id="filter-myId" class="noSelected">Text</li>
</ul>

要检查的 url 地址示例:

http://www_link.com/D=.myId

但是在窗口地址栏上它只会显示“myId”而没有“filter-”,所以我想我需要检查“filter-”之后的内容是否与出现在 windows 地址上的字符串匹配。如果是这样, li 将获得“选择”类

帮助?

4

2 回答 2

1

我建议,虽然目前未经测试,但大致如下:

var string = document.location.href.split('=')[1];

if ($('li[id*="' + string + '"]').length){
    $('li[id*="' + string + '"]').addClass('selected');
}

要将搜索限制为具有前缀的li元素:filter-

var string = document.location.href.split('=')[1];

if ($('li[id^="filter-"][id*="' + string + '"]').length){
    $('li[id^="filter-"][id*="' + string + '"]').addClass('selected');
}

参考:

于 2012-06-15T20:07:57.427 回答
1

您需要以某种方式解析 URL。我将那部分放在外面,但假设它被放置在一个名为url.

Javascript

if (elem = document.getElementById('filter-' + url['D'])) {
  // exists
  elem.className += ' selected';
}

jQuery

elem = $('#filter-' + url['D']);
if (elem.length) {
  // exists
  elem.addClass('selected');
}
于 2012-06-15T20:08:28.803 回答