如何使用CSS选择文本节点 [英] How to select a text node with CSS
问题描述
我有以下HTML标记:
I have the following HTML markup:
<h1>
<div class="sponsor">
<span>Hello</span>
</div>
World
</h1>
当我使用CSS选择器h1
时,我会得到Hello World
.
When I use the CSS selector h1
I get Hello World
.
不幸的是,我无法更改标记,而我只能使用CSS选择器,因为我使用的是聚合RSS提要的系统.
I can't unfortunately change the markup and I have to use only CSS selectors because I work with the system that aggregates RSS feeds.
有没有仅我可以使用文本节点的CSS选择器?在此示例中,具体是World
?
Is there any CSS selector which I can take only the text node? Specifically the World
in this example?
推荐答案
The current state of CSS can't do this, check this link: W3C
这里的问题是,您写入屏幕的内容没有显示在DOM:P中.
The problem here is that the content you write to the screen doesn't show up in the DOM :P.
也::outside
似乎还行不通(至少在Safari 6.0.3中对我来说),或者它根本还没有产生预期的结果.
Also ::outside
doesn't seem to work yet (at least for me in Safari 6.0.3) or it simply doesn't generate the desired result yet.
检查我的小提琴,然后检查DOM源: JSfiddle
Check my fiddle and then check the DOM source: JSfiddle
最后,有属性选择器a { content: attr(href);}
,使CSS能够读取DOM节点属性.似乎还没有innerHTML
等效项.如果可能的话,那将是很好的选择,而您也许可以操纵标签的内部标记.
Finally there are attribute selectors a { content: attr(href);}
, making CSS able to read DOM-node attributes. There doesn't seem to be a innerHTML
equivalent of this yet. It would be great tho if that was possible, whereas you might be able to manipulate the inner markup of a tag.
这篇关于如何使用CSS选择文本节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!