获取div中所有跨度的属性值

时间:2012-02-22 03:46:06

标签: ajax jquery asp.net-ajax

我有一个div,其中有很多跨度如下:

<div id="mydiv">
    <span id="first_id" itemindex="0">first span</span>
    <span id="second_id" itemindex="1">second span</span>
    <span id="third_id" itemindex="2">third span</span>
    ...
</div>

我想在JQuery中定义函数“getItemIndexValues()”,它获取“myDiv”中的所有值。有可能吗?

2 个答案:

答案 0 :(得分:1)

您想要使用data- prefixed attributes

HTML:

<div id="mydiv">
    <span id="first_id" data-itemindex="0">first span</span>
    <span id="second_id" data-itemindex="1">second span</span>
    <span id="third_id" data-itemindex="2">third span</span>
</div>

JavaScript的:

var arr = $( 'span', '#mydiv' ).map( function () {
    return $( this ).data( 'itemindex' );
}).get();

此处,arr将为[ '0', '1', '2' ]

现场演示: http://jsfiddle.net/fQJAk/

顺便说一句,如果您更喜欢一组数字,请执行以下操作:

return +$( this ).data( 'itemindex' );
-------^

答案 1 :(得分:0)

我没有验证它,但我认为这应该有效:

$("#mydiv>span").each(function(a,b){
    alert($(b).attr('itemindex'));
});

在此处使用子选择器:http://api.jquery.com/child-selector/