Frage

Ich bin auf der Suche nach einer Möglichkeit, die Leistung meines Code zu erhöhen. Zur Zeit habe ich etwas Ähnliches wie folgt aus:

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

Dies bedeutet jedoch, das ich habe 2 GET Anfragen zu machen. Gibt es eine Möglichkeit, dies zu 1 Antrag zu reduzieren, indem so etwas wie dies zu tun:

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

Cheers!

War es hilfreich?

Lösung

Versuchen Sie diese:

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

btw: wahrscheinlich benötigen Sie einen Halter-Element um Ihre Sektionen, weil dom in meinem Beispiel die erste leve Ihrer <body> Tag-Inhalt hält und find wird nichts auf dieser ersten Ebene finden:

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

Andere Tipps

Können Sie wechseln JSON zu benutzen?

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

Dies wäre schneller als ein regulären get tun und das Ergebnis durchlaufen, wenn auch Sie Ihre Antwort vom Server kodieren müssen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top