0

我有一个带有对象 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 数组不断变化,我的问题是如何找出该数组中的哪个元素是#containerdiv中的第一个元素

例如,如果我有这个订单:

{
  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将是第一个,但在某些情况下,在该数组中nameitem 将不存在,因此它并不总是名称,我希望这有任何意义 :)

4

3 回答 3

2

这将遍历元素,从头到尾,并显示每个元素的 ID。

$('#container input').each(function() {
     alert($(this).attr('id'));
})

$('#container input').eq(0)还将引用第一个输入元素。

于 2012-07-31T17:35:44.540 回答
2
var firstId = $("#container").first().attr("id");

我认为这段代码不正确。也许这不是:

var firstId = $("#container").children().first().attr("id");
于 2012-07-31T17:36:22.353 回答
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

http://jsfiddle.net/KKz9U/1/

$.unique元素排序为与文档中相同的顺序

于 2012-07-31T17:52:04.827 回答