如何使用CSS或JavaScript定位这样的网址?

时间:2011-08-04 21:16:39

标签: javascript css

我有一个视频页面,其中包含视频过滤器。如果我点击其中一个过滤器(例如“音乐视频”),则网址会更改为:

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

不幸的是,没有添加身体类或者我可以通过这样的方式轻松定位它的任何东西:

body.music-videos { }

有没有办法以某种方式使用CSS或JavaScript定位网址?

5 个答案:

答案 0 :(得分:0)

您可以使用Javascript的location.href来获取位置,并像普通字符串一样使用它。 但是,建议服务器端的机构有一个类。

答案 1 :(得分:0)

据推测,您的网页加载了该网址 - 当您将网页呈现为包含css可检测的内容时,您无法做某事吗?

答案 2 :(得分:0)

我不知道我是否理解你的问题。您是否尝试使用href值定位链接?您应该可以使用css中的selector [src = URL]之类的东西来定位它。如果你试图根据URL来定位body标签,我会在if语句(例如if(location.href =='url'){document.getElementsByTagName(“body”))下创建条件脚本.style.property =“随你” } 。希望这会有所帮助。

答案 3 :(得分: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;

如果您的意思是其他,请澄清。

答案 4 :(得分: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; }
}