0

この方法で変数を宣言する方法:

var sarr = $("#crop_vals").find("input");
$(sarr).each(function() { 
    var $(this).attr("id") = $(this).val();
});

私が望むのは、値に相当する id という名前の var を持たせることです。

4

3 に答える 3

5

そのように要素の属性を設定することはできません。値を取得しています。

var $sarr = $("#crop_vals").find("input");

$sarr.each(function() { 
    this.id = this.value;
})

$()オブジェクトをキャッシュしたので、再度使用する必要はないことに注意してください。

属性の設定:

$(selector).attr('id', 'newValue');

属性の取得:

var id = $(selector).attr('id');

attrコールバック関数を使用することもできます:

$sarr.attr('id', function() { 
    return this.value;
})
于 2012-09-15T14:07:43.377 に答える
1

「変数」をグローバルに設定するには (ただし、問題が発生するため、これを行うべきではありません)

var sarr = $("#crop_vals").find("input");
$(sarr).each(function() { 
    window[ this.id ] = this.value;
});

それらをより安全な方法で設定するには、次のことができます

var sarr = $("#crop_vals").find("input"),
    myVars = {};
$(sarr).each(function() { 
    myVars[ this.id ] = this.value;
});

でアクセスしmyVars[ id ]ます。

于 2012-09-15T14:20:27.140 に答える
1

wrong syntax for assigning value属性を付ける必要があり、使用する必要がありますattr('attributeName', 'value');

変化する

var $(this).attr("id") = $(this).val();

$(this).attr("id", $(this).val());

あなたのコードは

var sarr=$("#crop_vals").find("input");
$(sarr).each(function(){ 
     $(this).attr("id",$(this).val());
});
于 2012-09-15T14:05:37.463 に答える