使用CSS选择文本节点

gio*_*kos 9 html css-selectors

我有以下HTML标记:

<h1> 
     <div class="sponsor"> 
          <span>Hello</span>  
     </div> 
     World 
</h1>
Run Code Online (Sandbox Code Playgroud)

当我使用CSS选择器时,h1我得到了Hello World.

是否有任何CSS选择器,我只能采取文本节点?特别是World在这个例子中?

编辑:

我不能不幸地改变标记,我只能使用CSS选择器,因为我使用聚合rss feed的系统.

小智 6

目前 CSS 还无法做到这一点,请查看此链接:W3C

这里的问题是你写入屏幕的内容没有显示在 DOM 中:P。

似乎::outside还不起作用(至少对我来说在 Safari 6.0.3 中)或者它根本没有生成所需的结果。

检查我的小提琴,然后检查 DOM 源:JSfiddle

最后还有属性选择器a { content: attr(href);},使 CSS 能够读取 DOM 节点属性。innerHTML目前似乎还没有类似的东西。如果可能的话那就太好了,而您也许能够操纵标签的内部标记。

  • 定义 `::outside` 的文档已被放弃,等待完全重写。请参阅http://stackoverflow.com/questions/10419614/enable-support-for-css3-outside-pseudoelement/10424878#10424878 另外,这个答案所指的属性选择器不是属性选择器 - 这是完全不同的东西,这只是一个 CSS 函数。最后,拥有一个与“innerHTML”等价的 CSS 是没有意义的 - “innerHTML”是一个用于操作 HTML 的 API,而 CSS 只是 CSS。 (2认同)