2016-10-11 12 views
0

次の例のHTMLは、spanタグを除いてaタグからのみテキストを抽出することを目的としています。CSSセレクタを使用して内部タグを除外する方法

<a href="#" class="rate"> 
<span>For Sale </span> 
$450.00 
</a> 

CSSセレクタを使用して$ 450しか抽出できない方法はありますか? .rate.rate:not(span)を使用しようとしましたが、これらのいずれも使用できませんでした。

**ネイティブCSSソリューションをお探しですか? **

+1

CSSはテキスト上にない要素に対してのみ機能します。 – Mohammad

+1

純粋なCSSでは、現在不可能です。 – rJ7

+1

*「抽出」*とは何を意味しますか?「選択」を意味するので、選択する場合は何をしようとしていますか? –

答えて

1

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を使用したい場合は、.ratedata-*属性に価格値を格納し、その中に:after擬似要素を使用することができます。 CSS attrを使用して、擬似要素のcontentプロパティのparentの属性値を使用できます。そのテキストが非表示になるように、あなたが唯一の要素を非表示にすることができ、CSSを使用して

.rate:after { 
 
    content: attr(data-price); 
 
    color: red; 
 
}
<a href="#" class="rate" data-price="$450.00"> 
 
    <span>For Sale </span> 
 
</a>

0

。 EX用

:あなたはテキストにのみ$ 450得るために達成するために弱々しい場合

a.rate span { 
      display : none; 
     } 

、あなたはJavascriptやjQueryを使って行く必要があります。

関連する問題