所以我想说我想用特定类的CSS隐藏div或span。
对于前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
}
我是否在正确的轨道上?或者有更容易/更好的方法吗?
答案 0 :(得分:1)
如果你可以使用jQuery及其漂亮的伪选择器,你可以做类似
的事情$('.question-summary:not(:last)')
您可以在SO主页上进行测试。
答案 1 :(得分: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';
}
答案 2 :(得分: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解决方案。
答案 3 :(得分:0)
如果您使用的是jQuery ......
$('.class_name').hide().last().show();
答案 4 :(得分:0)
这里你去 - http://jsfiddle.net/uUK6G/
将所有div设置为同一个类。然后使用jQuery过滤掉最后一个。
$('.myDiv').filter(':not(:last)').hide();
答案 5 :(得分:0)
您可以使用CSS中的:last-child选择器来执行此操作。