我有一个视频页面,其中包含视频过滤器。如果我点击其中一个过滤器(例如“音乐视频”),则网址会更改为:
http://mysite.com/videos/?videofilter=music-videos
不幸的是,没有添加身体类或者我可以通过这样的方式轻松定位它的任何东西:
body.music-videos { }
有没有办法以某种方式使用CSS或JavaScript定位网址?
答案 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; }
}