2017-04-25 6 views
0

divには複数のpタグがあります。空でないp要素のテキストを取得します。例クエリセレクタを使用してテキストデータを持つ最初のpタグを選択する方法はありますか

<div> 
<p></p> 
<p></p> 
<p>data</p> 
<span>some</span> 
</div> 

のために私はdataある第三p要素のデータを取得したいです。

私は

document.querySelector("p:nth-child(1)"); 

を使用することができますが、上記の場合には私がいない子を定義する必要があります。

document.querySelector("p:not(:empty)"); 

あなたがdocument.querySelector()を使用しているので、これが保証されます。しかし、どのように私は、pは空白があなたが:empty pseudo-classと一緒に:not() pseudo-classを使用することができ、問題にならないだろうと仮定すると、空の状態に

答えて

1

をもと得ることができますそのような最初の要素のみがマッチします。セレクタ(つまり、セレクタ文字列自体の中で)で「最初のp:not(:empty)」を表すことはできません。

(あなたが本当に文書全体を挟んで第1空でないp要素に興味を持っていない限り、もちろん、あなたはおそらく、あなたのセレクタは、より具体的にしたいでしょう。)

+0

が、中に他のタグがある場合pタグiteself、それからpタグは空であるとみなされません。 –

+0

@Sunil Garg:もちろん、あなたはあなたの質問に言及していませんでした。さて、あなたは子ノードがないものを見つけるまで、すべてを選択して反復するしかありません。 – BoltClock

+0

ありがとう..あなたはこれに答えることができますか?https://stackoverflow.com/questions/43607844/is-there-any-way-to-get-the-text-data-of-first-non-empty-element-using -query-sel –

関連する問題