0

因为有了 jQuery,我已经能够最大限度地放纵我的懒惰,但真正的好处是把大部分时间花在好东西上,而不是花在乏味的东西上。我想进一步说明这一点。

目前,我会有一些像这样的 HTML:

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

等等。

然后,我会调用ajax,期望对象“ids”与 div ids 相同,如下所示:

$.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

访问对象的属性可以通过两种方式完成。

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 回答