我有下面的示例HTML,并且只想从a
标记中提取文本,但不包括内部span
标记。如何使用CSS选择器排除内部标记
<a href="#" class="rate">
<span>For Sale </span>
$450.00
</a>
有没有一种方法可以使用CSS选择器提取$ 450。我试图使用.rate
和.rate:not(span)
但这些都没有工作
**我正在寻找原生的CSS解决方案 - 就像使用:不是或其他。 **
我有下面的示例HTML,并且只想从a
标记中提取文本,但不包括内部span
标记。如何使用CSS选择器排除内部标记
<a href="#" class="rate">
<span>For Sale </span>
$450.00
</a>
有没有一种方法可以使用CSS选择器提取$ 450。我试图使用.rate
和.rate:not(span)
但这些都没有工作
**我正在寻找原生的CSS解决方案 - 就像使用:不是或其他。 **
您可以使用Node.nextSibling
来查找元素的下一个兄弟文本。
var text = document.querySelector(".rate > span").nextSibling.textContent.trim();
console.log(text);
<a href="#" class="rate">
<span>For Sale </span>
$450.00
</a>
编辑: 如果你想使用CSS,你可以价值存储在.rate
data-*
属性,并在其中使用:after
伪元素。您可以使用CSS attr
,使用伪元素的content
属性中的父级属性值。
.rate:after {
content: attr(data-price);
color: red;
}
<a href="#" class="rate" data-price="$450.00">
<span>For Sale </span>
</a>
用css以使其文本得到隐藏你只能隐藏的元素。
为前:
a.rate span {
display : none;
}
如果你婉实现让文本仅$ 450,你应该用Javascript或jQuery的去。
CSS只处理元素而不是文本。 – Mohammad
纯CSS,目前不可能。 – rJ7
你是什么意思* *“提取”* - 所以你的意思是“选择”,如果是这样,你试图做什么? –