我有一个包含对象id的数组:
one
two
there
etc..
我有一个很长的对象列表:
<div id="container">
<input type="text" id="one" />
<input type="text" id="two" />
<input type="text" id="three" />
</div>
这不是实际的html代码,只是一个简化版本。
现在我的数组ID不断变化,我的问题就是
我如何找出该数组中的哪个元素是#container
div
例如,如果我有此订单:
{
email
name
date
}
这个html对象列表
<div id="container">
<input type="text" id="name" />
<input type="text" id="last_name" />
<input type="text" id="email" />
<input type="text" id="date" />
</div>
name
将是第一个,但在某些情况下,在该数组中name
项将不存在,因此它不会永远是名称,我希望这有任何意义:)
答案 0 :(得分:2)
这将循环遍历元素,从头到尾,并显示每个元素的ID。
$('#container input').each(function() {
alert($(this).attr('id'));
})
$('#container input').eq(0)
也将引用第一个输入元素。
答案 1 :(得分:2)
var firstId = $("#container").first().attr("id");
我认为此代码不正确。也许这反过来:
var firstId = $("#container").children().first().attr("id");
答案 2 :(得分:0)
如果要将数组顺序与文档顺序同步,可以执行以下操作:
<div id="container">
<input type="text" id="name" />
<input type="text" id="last_name" />
<input type="text" id="email" />
<input type="text" id="date" />
</div>
JS:
var arr = ["email", "name", "date"];
var elems = $("#" + arr.join(", #") );
arr = $.map($.unique(elems.get()), function(v,i) {
return v.id;
});
console.log(arr);
//["name", "email", "date"] same order as they are in the document
$.unique
将元素排序为与文档中的顺序相同的顺序