0

jQuery のおかげで、私は自分の怠惰を最大限に楽しむことができましたが、本当のメリットは、ほとんどの時間を良いことに費やし、退屈なことに費やす時間を減らしたことです。それをさらに進めたいと思います。

現在、次のような HTML があります。

<div id="id1"></div>
<div id="id2"></div>
<div...

等々。

次に、ajaxオブジェクトの「ID」が次のように div ID と同じであることを期待して、を呼び出します。

$.ajax({
    success: function (msg) {
        $("#id1").text(msg.id1);
        $("#id2").text(msg.id2);
        $("#...

等々。

これを「ワンライナー」に減らすことはできますか? div具体的には、応答オブジェクト配列で s のID を使用する方法がわかりません。

よろしくお願いします!

4

2 に答える 2

2

ページ上の他の div から div を分離する方法がある場合は、次のようにすることができます。

$('div[id^=id]').text(function(){ return msg[this.id]  }); // <-- one liner just for you

オブジェクトのプロパティにアクセスするには、2 つの方法があります。

msg.property
msg[property] // <-- this way is more flexible...

したがって、実際には各divのIDをプロパティ名として渡します

msg[id1] // etc..
于 2013-01-18T22:17:21.153 に答える
1

はい、次のjQuery.each()方法を使用できます。

success: function (msg) {
  jQuery.each(msg, function(key, value){
    $('#' + key).text(value);
  });
}
于 2013-01-18T22:17:44.817 に答える