<div class="box1">
<div class="box9">
<div class="box4">
如何从“盒子”开头的课程中获得最大数字? 在这种情况下,我必须得到9号。
答案 0 :(得分:3)
你需要迭代所有div的元素并获取类名。然后你需要存储最大的值。我为你写了一个简单的例子:
HTML:
<div class="box1"></div>
<div class="box9"></div>
<div class="box4"></div>
jQuery的:
var biggestNum = 0;
$('div[class^="box"]').each(function(){
var currentNum = parseInt($(this).attr('class').replace('box', ''), 10);
if(currentNum > biggestNum) {
biggestNum = currentNum;
}
});
alert(biggestNum);
上
答案 1 :(得分:1)
以下是使用jQuerys map()
函数和Math.max
的较短实现:
var nums = $("div").map(function(i, e) {
return parseInt($(e).attr("class").replace("box",""), 10);
}).get();
alert(Math.max.apply(this, nums))
答案 2 :(得分:0)
Hiya另一个演示 http://jsfiddle.net/26GYN/1/ 或 http://jsfiddle.net/ktwDK/2/
表示编号最大的班级;用红色框突出显示。休息演示将清楚说明:)
Jquery代码
var max=0
var maxClass="";
$("div[class^='box']").filter(function(){
var result = /\d+(?:\.\d+)?/.exec($(this).attr("class").toString());
if (max < result)
max = result;
maxClass = 'box'+max;
}).each(function() {
//dosomething!!
});
$("div[class^="+maxClass+"]").css('border', '1px red solid');
<强> HTML 强>
<div class="box1">foobar</div>
<div class="box9">testsoo</div>
<div class="box4">hulkfoo</div>
答案 3 :(得分:0)
<script>
var classes = new Array();
$('div[class*="box"]').each(
function(index, value) {
classes.push(parseInt($(value).attr('class').replace("box",""), 10))
});
alert(classes.sort().pop());
</script>
发生的事情是: a)创建空数组 b)选择所有具有类框[某事]
的div $('div[class*="box"]')
c)从类名中获取数字并将其转换为整数
$('div[class*="box"]')
d)把它放在数组
中classes.push(parseInt($(value).attr('class').replace("box",""), 10))
e)排序数组并弹出最后一个元素(最大的一个)以获得最大值
classes.push(parseInt($(value).attr('class').replace("box",""), 10))