2016-08-03 4 views
0

私は、特定のページに排他的なコンテンツがあるかどうかを判断するためのスクリプトを用意しています。しかし、私はつまずいた。部門内の実際のコンテンツを確認する方法

実際のコンテンツを含むdivの正確な名前はわかりません。私はそれが文字列 "プレミアム"を含むクラス名を持っていることを知っているので、私はそれを見つけることができますが、それらのいくつかがネストされているので、すべてのdivが空であることを単に確認することはできません。だから、外側のものは内容を持っています - 内側のものです!究極的には、表示する独占的なコンテンツがない場合、最も内側のものに空白だけがあります。しかし、その最も内側のdivは、いくつかの異なるクラスの1つになることができます。私は1つが私はそうのような一般的な検索を行っていたために検索する(一般的なjQueryのスクリプトを使用して)任意のページ上で確実に知ることはできません。

$('*[class*= "premium"]:visible').each(function() { 
    if($(this).text() != ""){ 
    do stuff; 
    } 
}); 

をしかし、これは理由の偽陽性を作成しているもの私は上で述べた。

思考?

+0

ネストされたコンテンツには常に特定の「レベル」がありますか?たとえば、他のDIVを含む "premium"クラスのdivがあるとします。これらの内側のdivにdivをもっと含めることはできますか?セレクタを '$( '* [class * =" premium "]:visible div')'に変更して、すぐにネストされたDIVの内容を取得できるからです。 – Santi

+0

を参照してください。http://stackoverflow.com/questions/3442394/jquery-using-text-to-retrieve-only-text-not-nested-in-child-tags –

+0

いいえ、私はどの程度遠からず考えていません私はコンテンツのために行く必要があります。 –

答えて

0

このコードは

1を提供してください)子クラスもプレミアムとサブクラスをお持ちの場合はプレミアムテキスト

2)と子クラスを持つ必要があり、その後も

を返すよう
$('*[class*= "premium"]:visible > *[class*= "premium"]:visible ').parent().each(function() { 
    console.log($(this)); 
}); 

HTML構造を投稿する場合は、明確にすることをお勧めします。

関連する問題