我的页面中有许多 id = "item(\d{1,})"
的元素。如何快速获取最小值和最大值为(\d{1,})
正则表达式的元素id?
最佳答案
如果浏览器支持,您还可以使用querySelectorAll
;所有浏览器都应该选择它。 IE 从 8 开始就支持它。
var elements = document.querySelectorAll("[id^=item]");
var max = null;
var min = null;
for(var i = 0; i < elements.length; i++) {
var number = elements[i].id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
}
如果浏览器不支持它,您将不得不执行以下操作:
//assuming that you're looking for div; just replace it with the actual element
//you're looking for
var elements = document.getElementsByTagName("<div">);
var max = null;
var min = null;
for(var i = 0; i < elements.length; i++) {
if(/item\d+/.test(elements[i].id)) {
var number = elements[i].id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
}
}
或者如果您使用的是 jQuery:
var max = null;
var min = null;
jQuery("[id^=item]").each(function() {
var number = this.id.replace(/item/, "");
if(max == null) {
max = number;
min = number;
}
else {
max = (number > max) ? number : max;
min = (number < min) ? number : min;
}
});
关于javascript - 如何从字符串中获取最小/最大 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7837867/