2012-01-09 43 views
2

在jQuery中,我想隨時說出這個DOM元素出現這樣做。因此,在任何時候找到DOM元素時都要像.live()或.on()一樣,隱藏它。在任何時候發現的DOM元素上的jQuery

+3

嗯......我會建議使用普通的舊CSS來做到這一點。 – 2012-01-09 16:02:08

+1

不能使用CSS,因爲它是動態的。基於真或假,如果這個DOM元素EVER出現。把它藏起來。 – Mark 2012-01-09 16:03:35

+1

然後,你將不得不使用任何將它添加到dom來運行隱藏它的代碼。否則,你需要找到一個插件來檢測何時添加元素。 jQuery核心沒有一個方法。 – 2012-01-09 16:05:01

回答

2

說你想達到這個......

if (myCondition) { 
    $(".myClass").hide(); 
} 

但你不知道什麼時候myClass項目將顯示出來,你可以做到以下幾點:

CSS:

.shouldHide .myClass { 
    display: none; 
} 

的jQuery:

if (myCondition) { 
    $("body").addClass("shouldHide"); 
} 

這意味着您仍然可以通過在body標籤上添加/刪除shouldHide類來應用該條件,並且如果body標籤具有shouldHide類,您將擁有一個隱藏myClass的CSS規則。

+0

我不認爲這是有效的,因爲當你運行你的條件檢查元素可能不在頁面上。 – Mark 2012-01-09 17:22:03

+0

@Mark - 這應該不重要 - 除非條件與元素特別相關 - 因爲您標記頁面以表明內容是否應該隱藏。如果你讓我知道具體的規則,我可以調整答案。 – Fenton 2012-01-10 09:19:42

0

你不需要jQuery,只需使用CSS。即使元素是在頁面創建後生成的,CSS也會被應用。例如:http://jsfiddle.net/YB2bk/。在這個例子中,一個頁面有一個div,單擊時會創建一個新的div。這兩個div都得到了相同的CSS應用。