2011-08-04 17 views
1

我有一個視頻頁面,其中包含視頻過濾器。如果我點擊一個過濾器(例如「音樂視頻」),網址在每次這樣的事情:如何使用CSS或JavaScript定位這樣的網址?

http://mysite.com/videos/?videofilter=music-videos

不幸的是,不加體類或任何東西在那裏我可以輕鬆地定位它通過做這樣的事情:

body.music-videos { }

有沒有辦法以某種方式使用目標CSS或JavaScript的網址是什麼?

回答

0

您可以使用Javascript的location.href來獲取位置,並像使用普通字符串一樣使用它。 但它會更多地建議服務器端身體有一個類。

0

大概你的網頁加載了那個URL--當你渲染頁面來包含css-detectable的東西時,你不能做些什麼嗎?

0

我不知道我是否理解你的問題。你是否試圖定位一個帶有href值的鏈接?你應該可以在CSS中使用類似selector [src = URL]的東西來實現。如果你試圖根據URL來定位body標籤,我會在if語句下創建條件腳本,例如if(location.href =='url'){document.getElementsByTagName(「body」)。style.property =「隨你」 } 。希望這可以幫助。

0

我不知道我的理解......

所以你點擊過濾器選項,它發送一個查詢字符串的URL。我們可以得到查詢字符串,例如:

var qs = []; 
var q = window.location.search.substring(1); 
var p = q.split('&'); 
for(var i = 0; i < p.length; i++) { 
    var pos = p[i].indexOf('='); 
    if(pos > 0) { 
    var key = p[i].substring(0, pos); 
    var val = p[i].substring(pos+1); 
    qs[key] = val; 
    } 
} 

然後你只需訪問qs['videofilter']來獲取值。從那裏,如果它什麼都不做,那麼 - 你沒有過濾器,你有複選框。有一個過濾器的唯一方法是有某種形式的通用性,將它們全部歸類。如果你想通過javascript和css來做到這一點,你可以在正則表達式中使用該過濾器來查找innerHTML與上面得到的值匹配的特定標籤,然後確定整個容器的關係(例如,父,祖父母等) ,並將其設置爲display:none;

如果您的意思是別的,請澄清。

0

這個解決方案是僅Firefox不幸:

https://developer.mozilla.org/en/CSS/@-moz-document

 @-moz-document url(http://www.w3.org/), 
        url-prefix(http://www.w3.org/Style/), 
        domain(mozilla.org) 
    { 
     /* CSS rules here apply to: 
     + The page "http://www.w3.org/". 
     + Any page whose URL begins with "http://www.w3.org/Style/" 
     + Any page whose URL's host is "mozilla.org" or ends with 
      ".mozilla.org" 
     */ 

     /* make the above-mentioned pages really ugly */ 
     body { color: purple; background: yellow; } 
}