1

div ID を持つ配列があります (私の場合、そのすべての div ID 値は親 div (#area) です):

jQuery.fn.getIdArray = function () {
 var ret = [];
 $('[id]', this).each(function () {
  ret.push(this.id);
 });
 return ret;
 };

var array = $("#area").getIdArray();

次のような配列フィールド値を取得する必要があります。

var lef = $("#array".[0]).css("left");
4

4 に答える 4

4

それに乱暴なスイングをします(質問に対する私のコメントを参照してください):

var array = $("#area").getIdArray();
var lef=$("#" + array[0]).css("left");

getIdArrayこれは、各文字列がidDOM 要素の値である文字列の配列を返し、leftそれらの要素の最初の値を取得することを前提としています。

たとえば、配列が次のように返された場合:

["foo", "bar", "charlie"]

によって作成されたセレクター"#" + array[0]は isであるため、要素の値を#foo取得することになります。leftfoo

于 2013-03-11T14:19:23.677 に答える
2

変数内に実際の JS 配列がある場合は、arrayブラケット表記を使用して個々の ID にアクセスします。

// I have the # before-hand since I'm assuming you have just the ID name
var lef = $('#' + array[0]) // this will access the 1st one in the array
于 2013-03-11T14:19:37.447 に答える
1

getIdArray はjquery関数ではなく、それが何をするかわからないため、これを答えとして定式化しようとしています。$("#area") コレクションにカスタム フィルターを適用する場合は、filter を使用して実行できます。これにより、.css("left") を取得できる jquery オブジェクトが返されます。

ID と left プロパティの両方を保存したい場合は、次のコードで実行できます。

var objects=[];
$("#area").filter(function(){
  $this=$(this);//cache the object
  objects.push({id:$this.attr("id"),
   left:$this.css("left")
  };
});
console.log(objects);
于 2013-03-11T14:34:52.380 に答える
1

私はあなたがこれを探していると思います:

var divYouWantToChange = $("#"+array[0]);
于 2013-03-11T14:22:19.310 に答える