2016-08-03 33 views
0

我有一個腳本,我正在努力確定在任何給定頁面上是否有任何獨佔內容。但我遇到了一個問題。如何檢查div內的實際內容

我並不總是知道包含實際內容的div的確切名稱。我知道它將有一個包含字符串「premium」的類名,所以我可以像這樣找到它,但是我不能簡單地檢查每個這樣的div是否爲空,因爲它們中的一些是嵌套的。所以,外面的有內容 - 內在的!最終,如果沒有獨一無二的內容需要顯示,那麼最內層的內容只有空白。但是,最內部的div可以是幾個不同的類中的一個。我不能肯定地知道任何特定的網頁(與通用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結構,最好澄清一下。