2012-02-24 18 views
0

所以,讓我們說我想隱藏一個div或跨度與特定類的CSS。選擇多個,但不是所有的HTML類

對於第一個X數量的實例,有沒有這樣做,或者更好的是,除了最後一個之外,還可以這樣做嗎?我想這將需要JavaScript。

僞我想應該是這樣的

if divname.class = "XYZ" { 
select all instances -1 
execute code that inserts random programmatic id into each class 
execute code that hides all ids except the last one 
} 

我在正確的軌道上?或者有沒有更簡單/更好的方法?

+1

是你沒有使用JQuery? – RSG 2012-02-24 21:36:44

回答

1

如果你可以使用jQuery和其漂亮的僞選擇,你可以不喜歡

$('.question-summary:not(:last)') 

您可以在主頁SO測試。

+0

他沒有使用jQuery,也沒有關於它的標記:) – Sarfraz 2012-02-24 21:44:48

+0

@Sarfraz:但是,他也沒有說不使用它。 – 2012-02-24 21:47:10

+0

沒問題,我們目睹了downvotes一個標籤沒有提到。讓我們看看這是否有助於他:) – Sarfraz 2012-02-24 21:49:19

0

對於前X個實例還是有這樣做的,還是 更好呢,除了最後一個以外,還有其他的嗎?我想這 將需要JavaScript。

你可以試試:

var elms = document.getElementsByClassName('XYZ'), total = elms.length; 

for (var i = 0; i < total; i++){ 
    elms[i].style.display = 'none'; 
} 

在上面循環,i將包含每個元素的索引,你可以把條件或者說範圍指定要刪除哪些。例如,如果你想隱藏所有除了最後一個,你會修改它想:

for (var i = 0; i < total - 1; i++){ 
    elms[i].style.display = 'none'; 
} 
0

你可以做這樣的事情,

var class_div = document.getElementsByClassName("class_name"); 
var i =0; 

for(i=0;i<class_div.length-1;i++){ 
    //do whatever you want with class_div[n-1] elements. 
} 

我不知道你是怎麼做到這與jQuery的,但這是一個可能的解決方案的JavaScript。

0

如果你使用jQuery ...

$('.class_name').hide().last().show(); 
0

這裏亞去 - http://jsfiddle.net/uUK6G/

設置所有的div同一類。然後使用jQuery過濾掉最後一個。

$('.myDiv').filter(':not(:last)').hide();​ 
相關問題