Frage

Ich versuche, ein Skript mit Yahoo zu machen YQL in einer Web-applicaion. Das Skript sieht einen Textabsatz über und dann findet es einige Hinweise und fügt den Text als Popup. Es geht alles gut, bis ich eine Schleife durch jede Referenz mit Klasse „verso“ haben, nachdem meine Antwort bekommen es anhängt, die Verweise in dem letzten Element der Liste.

Hier ist die Javascript-Code (rewrited und vereinfacht)

            var url="";
            var version = "RVR1960";
            var verso = "";

            $("div.post-body").find(".verso").each(function(i){
                $resultado = null;
                verso = $(this).text();
                url = "http://query.yahooapis.com/v1/public/yql?" + "q=select%20*%20from%20html%20where%20url%3D%22"+
                    encodeURIComponent("http://www.biblegateway.com/passage/?search=" + verso +
                    "&version=" + version) + "%22&format=xml'&callback=?";
                $pasaje = $(this);

                $.getJSON(url,function(data){
                    if(data.results[0])
                    {
                        $resultado = null;
                        $resultado = $(data.results[0]).find("div.result-text-style-normal:first");
                        $resultado.find("h5, div, a").remove();
                        $("<div class='cita'><span class='left'>&ldquo;</span>"+
                            $resultado.html()+
                            "<p align='right'><b>"+verso+"</b></p>"+
                            "<span class='right'>&rdquo;</span></div>").appendTo($pasaje);
                    }
                    else
                    {
                        $resultado = $("<p>Pasaje no encontrado.</p>");
                    }
                });
            });

und hier ist mein html:

<div class="post-body"><b class="verso">Juan 3:16</b><b class="verso">Mateo 11:28</b><b class="verso">Juan 1:1</b></div>

Ich werde schätzen alle Hilfe

War es hilfreich?

Lösung

so, ich habe ändern einige Dinge in Ihrem Code, jetzt funktioniert es, Spaß zu haben;)

var url="";
var version = "RVR1960";
var verso = "";

$("div.post-body > b.verso").each(function(i){
    resultado = null;
    verso = $(this).text();
    url = "http://query.yahooapis.com/v1/public/yql?"+"q=select%20*%20from%20html%20where%20url%3D%22"+encodeURIComponent("http://www.biblegateway.com/passage/?search="+verso+"&version="+version)+"%22&format=xml'&callback=?";

    $.getJSON(url,function(data){
        if(data.results[0])
        {
            resultado = null;
            resultado = $(data.results[0]).find("div.result-text-style-normal:first");
            resultado.find("h5, div, a").remove();
            $("<div class='cita'><span class='left'>&ldquo;</span>"+resultado.html()+"<p align='right'><b>"+verso+"</b></p>"+"<span class='right'>&rdquo;</span></div>").appendTo($("div.post-body > b.verso")[i]);
        }
        else
        {
            resultado = $("<p>Pasaje no encontrado.</p>");
        }
    });
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top