jQuery Last mit variabler, und spaltete sich in zwei Teile?
-
27-09-2019 - |
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!
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