在javascript中使用正则表达式增量数字
Using regex incremental numbers in javascript
我试图通过id隐藏元素:
document.getElementById('Table1').style.display = 'none';
但是有很多div,比如Table1, Table2, Table3…
那么在这种情况下如何使用正则表达式呢?设置class为所有这些元素。它就是为这种情况而发明的。
HTML:<div id="Table1" class="myTables"></div>
<div id="Table2" class="myTables"></div>
<div id="Table3" class="myTables"></div>
JavaScript: var elements = document.getElementsByClassName("myTables");
for (var i = 0, len = elements.length; i < len; i++) {
elements[i].style.display = "none";
}
UPDATE:如果设置类在您的情况下不适用,您可以始终使用现代方法querySelectorAll
, 属性以选择器:
var elements = document.querySelectorAll("div[id^='Table']");
for (var i = 0, len = elements.length; i < len; i++) {
elements[i].style.display = "none";
}
演示:http://jsfiddle.net/L2de8/
正则表达式在本例中不起作用。
要么在所有元素上使用一个通用的类名,要么,如果你不能改变HTML,你可以使用selector API来选择你需要隐藏的元素。
使用var allElemsWithIdStartingFromTable = document.querySelectorAll('[id^="Table"]');
选择所有ID以"Table"开头的元素,所以它可以是Table1, Table2,也可以是TableOfProducts,记住这一点。
然后你需要遍历这个并检查id属性是否匹配/^Table'd+$/
正则表达式
举个例子,如果你把myTables作为div的类名,那么用它来表示长度
var elements = document.getElementsByClassName("myTables");//to know the length only..
for(var i=0;i<elements.length;i++)
{
document.getElementById('Table'+i).style.display = 'none';
}
相关文章:
- 正则表达式与数字中的第二个点匹配
- 正好包含2个大写字母和3个数字的正则表达式
- 键按下上的正则表达式 仅限制数字
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 正则表达式(JavaScript),用于创建数字必须大于x的数据验证
- 用于删除紧跟在非数字后面的零的正则表达式
- XXXXXX的正则表达式.XX格式的数字
- 将字符串拆分为数值和非数字正则表达式
- 将分数替换为分数正则表达式,将数字替换为数字正则表达式
- Javascript字母数字正则表达式不采用换行符
- Javascript仅输入数字正则表达式
- 数字正则表达式导致jshint'错误或不必要的转义'错误
- 字母数字正则表达式javascript
- JavaScript:查找匹配的数字正则表达式
- Javascript数字正则表达式测试失败-无法找出原因
- 欧洲数字正则表达式
- 如何在数字正则表达式中允许空格
- Javascript:如何检查字符串中是否存在两个数字?(正则表达式)
- 匹配字符串部分并检索非邻近数字正则表达式