2011-05-06 109 views
0

我有導航的形式ulli。如果url是http://mydomain.com/somewiredpath/page21.htm?p=1我怎麼能得到元素與此網址?我不關心網址的其餘部分,只需要li和「page21.htm」即可。如何根據頁面URL獲取元素

<ul id="navig"> 
     <li> 
      <a href=".../page1.htm"><imgsrc="..."></a> 
     </li> 
     <li> 
      <a href=".../page2.htm"><imgsrc="..."></a> 
      <ul> 
       <li><a href=".../page3.htm"><imgsrc="..."></a></li> 
       <li><a href=".../page4.htm"><imgsrc="..."></a></li> 
      </ul> 
     </li> 
</ul> 

PS:我要去一些樣式添加到匹配和父元素,因此如果已經存在了,一些jQuery函數/插件,這將是巨大的瞭解。

+0

你到底想幹什麼?將** LI **元素設置爲當前URL的活動狀態? – DanielB 2011-05-06 08:40:28

回答

2
function findLi(pagename) { 
    return $('#navig a[href*="' + pagename + '"]').closest("li"); 
} 
+0

'> = 0',而不是'> 0',以允許具有值「page23.html」的'href'。 ('attr'可能會返回屬性,它仍然是相對的,而不是屬性將被解析。我不知道它在jQuery 1.5.x中做了什麼,在1.6理論上它會得到屬性,特別是。) – 2011-05-06 08:46:55

+0

也建議如果你在處理程序或迭代器中多次寫入'$(this)',緩存它。每次你這樣做,都有多個函數調用和一個內存分配。實際上,在這種情況下,你根本不需要第一個,直接使用'this.href'。 – 2011-05-06 08:47:56

+0

固定> =和固定回報..你不能返回一個值從每個() – ariel 2011-05-06 08:50:57