我有許多元素在頁面whis id = "item(\d{1,})"
。如何使用最小值和最大值(\d{1,})
regexp快速獲取元素ID?如何從字符串獲取最小/最大int值?
回答
您還可以使用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;
}
});
使用此得到您的ID列表:
$j("[id^=item]").map(function(){ return Number(this.id.substr(4)); });
我不認爲jQuery有任何工具即可快速獲取最小/最大價值,但它是相當瑣碎自己寫。
按Vivin要求提供微不足道的一部分:
var arr = $j("[id^=item]").map(function(){ return Number(this.id.substr(4)); }).sort();
var min = arr[0];
var max = arr[arr.length-1];
這並沒有真正回答這個問題。 –
@VivinPaliath問題是關於使用jQuery從元素ID中獲取最小/最大值。 jQuery並沒有真正涵蓋數學/數組函數,所以答案就是jQuery所涵蓋的範圍。如果OP現在真的需要知道從數組中獲得最小/最大值(它對我來說不是這樣),那麼他還有其他更嚴重的問題。雖然竊取答案很好。 –
雖然這個問題沒有用jQuery標記。另外,使用jQuery,您仍然可以通過迭代返回的id來獲取最大值和最小值。 –
- 1. 如何獲取字符串的最小值和最大值?
- 2. 如何從鏈表中獲取最小值或最大值?
- 3. 如何從jQueryUI Slider中獲取最小值和最大值
- 4. 如何從變量中獲取滑塊最小值,最大值。
- 5. python從嵌套字典中獲取最小值/最大值
- 6. 如何查找字符串中的最大和最小值
- 7. 獲取字符串的最大和最小單詞
- 8. 如何從字符串列表獲得最大的價值值
- 9. 獲取最小值和最大值
- 10. 如何獲得可以從SQL Server轉換爲int的最大字符串值?
- 11. 如何從字符串數組中獲取最大字符匹配字符串
- 12. 如何從「範圍」屬性中獲取最小/最大值
- 13. 如何使用字母數字字符串從列中獲取最大值?
- 14. C#列表<組<字符串,字符串,整數>>組由最小值最大值INT
- 15. JSpinner獲取最大最小值
- 16. 獲取最小值和最大值值從多行事件
- 17. Java - 查找字符串數組的最小值和最大值
- 18. 查找最小值和最大值由字符串AWK
- 19. 如何從兩個最大值中獲取最大值
- 20. 如何從int數組中獲取多個最小值?
- 21. codeigniter從字符串中獲取int值
- 22. Python:從字符串中獲取int值
- 23. 如何獲取隊列的最小值和最大值?
- 24. 如何獲取輸入的最小值和最大值angularjs
- 25. 如何聲明具有最小值和最大值的Int?
- 26. 如何從數組中提取最大值和最小值?
- 27. C#從列表中獲取最小值和最大值
- 28. 從數組中獲取最小值和最大值 - Java
- 29. TeraData查詢從表中獲取最小值和最大值
- 30. 從Thinking Sphinx搜索獲取最小值和最大值
你的意思是ID的形式爲'item123','item42','item69682374534'? –
這與jQuery有什麼關係? :P – jbabey
@jbabey,它可能已經可用,因此是完成任務的有用工具。就我個人而言,我認爲我會從獲取所有數字值開始,因爲正則表達式無法比較它們。手動遍歷找到最小值,然後'getElementById(「item」+ minValue);'。雖然不快。 – Thor84no