jQuery加载变量,并分为2部分?

时间:2010-10-28 14:13:10

标签: javascript jquery jquery-load

我正在寻找一种提高代码性能的方法。目前我做了类似的事情:

$(".div1").load("Page.aspx #section1");
$(".div2").load("Page.aspx #section2");

但是,这意味着我必须提出2 GET个请求。有没有办法通过这样的方式将此减少为1个请求:

var content = $.load("Page.aspx");
$(".div1").html(content("#section1"));
$(".div2").html(content("#section2"));

干杯!

2 个答案:

答案 0 :(得分:1)

试试这个:

$.get('Page.aspx', function(data) {
  var dom = $(data);
  $(".div1").html(dom.find("#section1"));
  $(".div2").html(dom.find("#section2"));
});

btw:你的部分可能需要一个holder元素,因为我的示例中的dom包含了<body>标记内容的第一个级别,find找不到第一级的任何事情:

<body>
  <div id="holder">
    <div id="section1"></div>
    <div id="section2></div>
  </div>
</body>  

答案 1 :(得分:0)

你可以切换到使用JSON吗?

$.getJSON('Page.aspx', function(data) {
    $(".div1").html(data.section1);
    $(".div2").html(data.section2);
});

这比定期获取和遍历结果更快,尽管您需要对来自服务器的响应进行编码。