18910140161

HTML-如何选择具有CSS-Stack溢出的文本节点

顺晟科技

2022-10-19 14:26:45

198

我有以下HTML标记:

<h1> 
     <div class="sponsor"> 
          <span>Hello</span>  
     </div> 
     World 
</h1>

当我使用CSS选择器时。

不幸的是,我无法更改标记,只能使用CSS选择器,因为我使用的是聚合RSS提要的系统。

是否有CSS选择器,我只能使用文本节点?特别是在本例中?


顺晟科技:

我遇到了类似的问题,我不得不从C#函数生成的html中删除“world”文本。

我将'h1'元素的字体大小设置为0,然后将我的css应用于div类。基本上隐藏额外的文本,但将内容保留在div中。

我不知道如何只用CSS来做,但是…

使用JQuery,可以选择里面的所有元素,除了子元素里面的东西

$(“h1:not(h1>div)”).css() 然后把你想要的任何CSS效果放在里面。

我也遇到了同样的问题,我无法触摸标记,也无法控制JS。 我需要在div元素中隐藏一个文本节点,但该元素要保持可见。 下面是我的解决方案:

标记:

<h1> 
     <div class="sponsor"> 
          <span>Hello</span>  
     </div> 
     World 
</h1>

CSS:

<h1> 
     <div class="sponsor"> 
          <span>Hello</span>  
     </div> 
     World 
</h1>

希望这能帮上忙!

一些解决办法:

CSS的当前状态无法执行此操作,请检查此链接:w3c

这里的问题是您写到屏幕上的内容没有显示在DOM:p中。

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

检查我的小提琴,然后检查DOM源代码:jsfiddle

最后还有属性选择器,使CSS能够读取DOM-node属性。似乎还没有类似的东西。如果有可能,那就太好了,而您可能可以操作标记的内部标记。

这几乎与我上周问的一个问题相反:是否可以选择容器中的第一个元素,而不使用纯CSS中的类或标识符?

简短的回答是否定的。在本例中不是它自己的元素-因此没有选择它的方法。

您在这里必须做的是样式,然后用该样式覆盖该样式。例如,如果您希望这里的“world”有一个黑色背景和白色文本,您需要使用类似于:

的内容
<h1> 
     <div class="sponsor"> 
          <span>Hello</span>  
     </div> 
     World 
</h1>

然而,不幸的是,如果您只想要“world”这个词的样式,并且您的标记中有更多的内容,那么这就不起作用了。

我认为在这种情况下,用纯CSS不可能只样式“world”。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航