Javascript 如何基于页面url获取元素

Javascript 如何基于页面url获取元素,javascript,jquery,url,Javascript,Jquery,Url,我有ul和li形式的导航。如果url是http://mydomain.com/somewiredpath/page21.htm?p=1如何使用此url获取li元素?我不关心url的其余部分,只需要带有“page21.htm”的li PS:我将向匹配的元素和父元素添加一些样式,因此如果已经有一些jquery函数/插件用于此,那么很高兴知道。您到底想做什么?为当前url设置活动的LI元素?=0,而不是>0,以允许href具有值“page23.html”。(attr可能会返回属性

我有ulli形式的导航。如果url是
http://mydomain.com/somewiredpath/page21.htm?p=1
如何使用此url获取li元素?我不关心url的其余部分,只需要带有“page21.htm”的li


PS:我将向匹配的元素和父元素添加一些样式,因此如果已经有一些jquery函数/插件用于此,那么很高兴知道。

您到底想做什么?为当前url设置活动的LI元素?
=0
,而不是
>0
,以允许
href
具有值“page23.html”。(
attr
可能会返回属性,该属性仍然是相对的,而不是将要解析的属性。我不知道它在jQuery 1.5.x中做了什么;理论上,在1.6中它会得到属性。另外,如果在处理程序或迭代器中多次写入
$(this)
,建议将其缓存。每次这样做时,都会有多个函数调用和内存分配。实际上,在这种情况下,您根本不需要第一个,只需直接使用
this.href
fixed>=和fixed return。。您不能从每个()内部返回值。@ariel:是的,由于OP使用jQuery,所以您可以这样做。:-)$(“#navig a”).each(function(){if(path.indexOf(this.href)>=0){$(this.closest(“li”).addClass('current');});
function findLi(pagename) {
    return $('#navig a[href*="' + pagename + '"]').closest("li");
}
function findLi(pagename) {
    return $('#navig a[href*="' + pagename + '"]').closest("li");
}