2016-04-16 18 views
1

Ich möchte drucken Hallo Welt. aber es funktioniert nicht. Warum? Das Problem ist in Zeile 30, wie kann ich diese Zeile für den Ausdruck "Hallo Welt" ändern. nach Klasse "Beispiel"? Ich habe bereits var x = y.getElementsByClassName("example"); und var x = variavelhtttp.responseXML.getElementsByClassName("example"); versucht, aber ohne Erfolg.

index.html

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

    <title>Load page</title> 

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 

    <script type="text/javascript"> 
    if(window.XMLHttpRequest){ 
    variavelhtttp = new XMLHttpRequest(); 
    }else{ 
    alert("Withouth Ajax!"); 
    } 
    </script> 

</head> 

<body> 

    <button type="button" onclick="loadDoc()">Go</button> 

    <script type="text/javascript"> 
     function loadDoc(){ 
      variavelhtttp= new XMLHttpRequest(); 
      variavelhtttp.open("GET","text.html",false); 
      variavelhtttp.send(); 
      var y = variavelhtttp.responseText; 
      window.alert(y); 
      var x = $(".example").html(y); 
      alert(x); 
     } 
    </script> 

</body> 
</html> 

text.html

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div class="example">Hello World.</div> 
</body> 
</html> 
+0

Was erwarten Sie? Was ist das Problem ? – Rayon

+0

Warum verwenden Sie reines JavaScript mit jQuery? Sie können mit HTML arbeiten und Ajax-Anfragen mit jQuery ... machen. –

+0

'$ (" .example ") .text();' das wird Ihnen den Inhalt geben. –

Antwort

0

@snoopy, wenn Sie den inneren Text des div.example von einem axaj Anruf abgerufen zugreifen möchten, können Sie es analysieren müssen richtig. Vor allem, wenn Sie jQuery verwenden, macht es keinen Sinn, hier vanillaJS zu verwenden. Zweitens ist Ihr HTTPRequest kein Ajax-Anruf, weil Sie es auf Sync-Modus verwenden (anstelle von asynchronen Modus, aus denen das A auf AJAX steht).

Hier ist ein Beispiel mit load und Filter.

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Load page</title> 
</head> 

<body> 

    <button type="button">Go</button> 

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
    <script type="text/javascript"> 
     $('button').click(loadDoc); 

     function loadDoc(){ 
      //use a DOM element created by jQuery to hold the response! 
      var container = $('<div>'); 
      //.load allows you to filter the text using a CSS selector 
      container.load("text.html .example", null, print); 

      //uses the complete handler to execute code after ajax done 
      function print(){ 
       var example = $('.example', container); 
       alert(example.text()); 
       //you can ommit this line if you don't want to append in the real DOM 
       $('body').append(example); 
      } 
     } 
    </script> 

</body> 
</html> 

Live-Beispiel https://plnkr.co/edit/4yniGzRVjFDNXY9b4Hds?p=preview

Live-Beispiel mit HTML und vanillaJS nur: https://plnkr.co/edit/0S7XJ8xVFa43wWNw8Xtg?p=preview

+0

Gute Arbeit! Ich verstehe vollkommen. Vielen Dank. –

+0

Ich freue mich, Ihre Worte zu lesen, gern geschehen – sminutoli

0

$(".example").html(y) SETS Wert y innerhalb .example

und var x = $(".example").html(y); wird x ein Objekt machen, wie Sie mit sehen können alert(x);

Die Warnung Sie wollten:

alert( $(".example").html()); 

ODER

alert( $(".example").text()); 
+0

Oh, verstanden! Also muss nur der Alarm geändert werden (x); als Warnung ($ (".example") .html()); ODER-Warnung ($ (".example") .text()) ;? –

+0

ja, oder ändern Sie (y) zu() in der Zeile var x = ... Ich weiß nicht über die httprequest. Dafür folgen Sie den Empfehlungen der anderen – yezzz