2012-10-25 55 views
1

使用分頁,我在第一頁一個div結構,像這樣:jQuery的。之前()如果類不存在

<div class="ctema">...</div> 
<hr /> 
<div class="ctema">...</div> 
<hr /> 
<div class="ctema">...</div> 
<hr /> 

但用jQuery腳本通過AJAX獲取內容的...以下頁面只有:

<div class="ctema">...</div> 
<div class="ctema">...</div> 
<div class="ctema">...</div> 

我的目標是有階級=「ctema」每格之間的HR標籤......我想這:

$('.ctematicas').before('<hr />'); 

但是這並不檢查HR標籤是否已經存在或沒有,並且在第一頁中的5動態重新加載之後我以連續的5 HR結束...

如何檢查HR標籤是如果不存在,請在CTEMA和CTEMA之間加一個?

編輯:問題澄清。

回答

3

你可以做

$('.ctema').not('hr+.ctema').before('<hr />'); 

$('.ctema:not(hr+.ctema)').before('<hr />'); 

jQuery的文檔建議傾向於第一種方案。

Demonstration


如果你真正想要的是有一個小時(第一個前不)之間股利,則該解決方案更簡單:

$('.ctema+.ctema').before('<hr />');​ 

Demonstration

+0

你錯過了之前的不是一個點。 –

+0

大家好。 Geesh。非常多。 – Arrow

+0

奇怪,但爲什麼它不適合我:http://jsfiddle.net/EMS4S/? – VisioN

1

如何檢查HR標籤存在於課堂CTEMA之間,並添加 一個如果不存在?

不知道我得到這個,但我可能會做:

$('.ctema').filter(function() { 
    return !$(this).next('hr').length 
}).after('<hr>'); 

FIDDLE