2010-11-15 70 views
1

什么是最简单的方法来显示网站上的特定元素?例如,在新闻网站上只有标题和其他内容。只显示网站的特定部分 - 通过CSS选择?

我想通过CSS选择元素,所以只有那些应该显示。
我试图用:not伪类:

:not(.myClass) { display: none; } 

但很明显,不显示.myClass -elements的父母等等都是不是他们。 你知道有什么可能做到这一点吗?它不一定是仅限CSS,JavaScript也是可能的。
这样做的web应用程序也很棒。

我希望能够过滤一些我访问的网站,所以我会将其作为用户样式表应用。

+0

如果我是你,我不会依赖于没有IE支持的CSS3选择器:P – annakata 2010-11-15 15:32:49

回答

1

您可以jQuery加载页面,轻松地选择所需的元素...

$("body").load("path/to/page.html div.headline"); 

以上将加载所有<div class="headline">元素到文档的主体中。

注意:您当然必须记住same origin policy

0

如果您只想显示新闻标题,则需要正确构建HTML。如果你有一个容器div来做到这将是一个次要类适用于它,并显示/隐藏元素的最简单的方法低谷类:

<div class="container news_page"> 
<h1>Title</h1> 
<p>Random text I want to hide.<p> 
<div class="random_container">Another random element i want to hide.</div> 
</div> 

.container {border:1px solid red;} /* .container has normal styling */ 
.news_page p, .news_page .random_container {display:none;} /* .news_page is used only to select elements inside container on news page */ 

这将是CSS唯一的解决了这一点。

+0

':not' **是一个CSS选择器 - http://reference.sitepoint.com/css/pseudoclass-not – 2010-11-15 15:28:53

+1

是的 - 我的坏 - 我想我用jQuery做了很多事情。纠正。但请注意:由于它是CSS3,因此不会在IE中运行。 – easwee 2010-11-15 15:30:51

0

我不知道如何评论事情,所以作为对最后一个答案的最后评论的回应,请查看:http://selectivizr.com/。它它可以模拟IE浏览器CSS3选择器,所以也许这将修复与爆你的问题......