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最初になりますが、その配列ではname項目が存在しない場合があるため、常に名前になるとは限りません。これが意味をなすことを願っています:)

4

3 に答える 3

2
var firstId = $("#container").first().attr("id");

このコードは間違っていると思います。おそらくこれは代わりに:

var firstId = $("#container").children().first().attr("id");
于 2012-07-31T17:36:22.353 に答える
2

これは要素を最初から最後までループし、それぞれの ID を表示します。

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

$('#container input').eq(0)最初の入力要素も参照します。

于 2012-07-31T17:35:44.540 に答える
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 に答える