2013-04-11 35 views
0

我正在处理用户更改span元素顺序的代码,如他所愿。 我需要收集跨度元素的顺序,并把它放在例如一个变量,如果为了看如下:收集订单<span> -elements

<span id="span-2">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span id="span-3">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span id="span-5">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span id="span-4">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span id="span-1">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 

然后,变量将是“2,3,5,4,1 “

回答

2

如果有一个可识别的家长,你可以这样做:

var order = new Array(); 
$("#parentID span").each(function(){ 
    order.push($(this).attr('id').substring(5)); 
}); 

但是,如果我想尝试这个,我想补充一些class ES和data-id s到混合:

HTML:

<span class="mySpan" data-id="2" id="span-2">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span class="mySpan" data-id="3" id="span-3">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span class="mySpan" data-id="5" id="span-5">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span class="mySpan" data-id="4" id="span-4">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 
<span class="mySpan" data-id="1" id="span-1">[<a class="move-up">Up</a>/<a class="move-down">Down</a>]</span> 

JS:

var order = new Array(); 
$(".mySpan").each(function(){ 
    order.push($(this).attr('data-id')); 
}); 
+1

你为什么要做substring(5)? – Martinsos 2013-04-11 17:00:59

+2

因为OP只需要id的整数部分(如果我正确理解他的话) – Steve 2013-04-11 17:02:04

2
var ids = []; 
$("span").each(function(index) { 
    ids.push($(this).attr('id')); 
}); 

,你将不得不在阵列IDS IDS。 对于示例,这将是IDS = [ “跨越-2”, “跨度-3”, “跨度-5”, “跨度-4”, “跨度-1”]

1

用于获取跨越自己:

var spanArray = []; //Contain all spans in the proper order (2,3,5,4,1) 

$("span").each(function(i){ 
    spanArray.push($("span")[i]); 
    console.log(i + ": " + this.id); 
}); 

对于只获得跨度IDS:

var spanIDsArray = []; //Contain all span ids in the proper order (2,3,5,4,1) 

$("span").each(function(i){ 
    spanIDsArray.push(this.id); 
    console.log(i + ": " + this.id); 
}); 
0
Your variable will be look like this: 

$(document).ready(function(){ 
var spnArray = []; 
$("span").each(function(i) 
{ 
    spnArray.push($(this).attr("id")); 
      }); 
       console.log(spnArray); 
    }); 

观看演示:

http://jsfiddle.net/KcRTm/