如何在Jquery中通过唯一更改ID

时间:2011-11-04 11:31:29

标签: jquery

我的输入字段包含随机排序的ID,如下所示:

<input type="text" id="start1" />
<input type="text" id="start5"/>
<input type="text" id="start3"/>

我需要更改如下,最后按1到10的顺序排序

<input type="text" id="start1" />
<input type="text" id="start2"/>
<input type="text" id="start3"/>
<input type="text" id="start4"/>

如何在jQuery中执行此操作?

2 个答案:

答案 0 :(得分:3)

$(function() {
    var i = 1;
    $("INPUT[type=text]").each(function() {
        $(this).attr("id", "start" + i);
        i++;
    });
});

以上内容适合您。

需要说明的是,动态更改ID是一个相当奇怪的要求。您需要实现这一目标的具体原因吗?

答案 1 :(得分:1)

<html>
<head>
<script type="text/javascript" src="jquery_1.5.2.js"></script>
<script type="text/javascript">
function reOrder (){
    var putVal = [];
    var put = [];
    var arr = $('.arr input[type=text]');
    for(var i=0; i < arr.length; i++){
        putVal[i] = $('input[id=start'+i+']').val();
        put[i] = "<input type='text' value='"+putVal[i]+"' id='start"+i+"' />"
    }

    $(".arr").empty();  
    for(var i=0; i < arr.length; i++){
        $(".arr").append(put[i]); 
    }



    }
$(document).ready(function() {

    reOrder();

});

</script>
</head>

<body>
<div class="arr">
<input type="text" id="start2" value="2" />
<input type="text" id="start3" value="3"/>
<input type="text" id="start0" value="0"/>
<input type="text" id="start1" value="1"/>
</div>
</body>
</html>

嗨,我确实喜欢这个,但这很有效。这是正确的吗?