2013-06-22 109 views
-8

有没有更简单的方法来编码,以便我们不必继续插入每个连续的数字?也许只是第一个也是最后一个。去会在初始加载时隐藏图像

<script> 
$(document).ready(function(){$("#001,#002,#003,#004,#005,#006,#007,#008,#009,#010,#011,#012,#013,#014,#015,#016,#017,#018,#019,#020,#021,#022,#023,#024,#025,#026,#027,#028,#029,").css("display", "none");}); 
</script> 
+1

什么?问题描述是什么? – exexzian

+2

难道你不能只用这些ID在元素上放一些常见的类吗? –

回答

2

简单的方法是一个类分配给所有这些元素

然后

$('.myClass').css('display', 'none') 

将完成工作。

否则,你就需要使用正则表达式来捕捉它们..

一个简单的正则表达式可以做

$('span').filter(function() { 
    return /[0-9]+/.test(this.id); 
}).addClass('a') 

假设所有的这些都是span元素。

Check Fiddle

+0

该正则表达式将匹配包含数字的所有ID。也许你想要更具体的东西:'/^0 [0-2] [0-9] $ /' –

+0

@JanDvorak ..有你去..只是学习正则表达式.. :) –

2

是,如果你必须这样你可以在一组选择使用jQuery的过滤器做到这一点。

$('div').filter(function() { 
    return this.id.match(/^0[0-2][0-9]$/); 
}).css('display', 'none'); 

但正则表达式很贵,我建议您使用类来代替。

+0

你的正则表达式将匹配所有包含一个数字。也许你想要更具体的东西:'/^0 [0-2] [0-9] $ /' –

+0

@JanDvorak谢谢。显然正则表达式不是我的专长:) – Jivings

0

你基本上可以隐藏通过以下操作

$('img').hide(); 

然而,这将隐藏在网页上的所有图片,所以你可以把所有这些图像在一个容器中,像这样所有图片:

<div id='MyImgContainer'> 
//Add images here 
</div> 

the js

$('#MyImgContainer').hide();