2017-12-02 45 views
1

Login für eine einfache Möglichkeit zum Erstellen von HTML-Code in jQuery und Anhängen an DOM ohne spezielle HTML-Zeichen wie unten behandelt. anhängendes JJJJ funktioniert nicht. Jeder einfache Weg?xhtml und jQuery gibt es und einfache Möglichkeit, HTML anzuhängen?

<?xml version="1.0" encoding="UTF-8"?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>Title</title> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 


      $("div").append("xxxxx"); 
      $("div").append("<span>yyyyy</span>"); 
      $("div").append("&lt;span&gt;zzzzz&lt;&#x2F;span&gt;"); 


}); 



</script> 


</head> 
<body> 
     <div> 


     </div> 



</body> 
</html> 

Antwort

1

Wenn Sie mit XML arbeiten, wird die Yyyyy Zeichendaten analysiert, obwohl es innerhalb des Script-Element ist. (Der text/html HTML-Parser weiß zu unparsed Zeichendaten zu wechseln, aber ein XML-Parser nicht)

So müssen Sie es explizit sagen, mit den CDATA Trennzeichen <![CDATA[ und ]]> am Anfang und Ende des Skripts. Also:

<?xml version="1.0" encoding="UTF-8"?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>Title</title> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.js"></script> 

    <script> 
    <![CDATA[ 

    $(document).ready(function(){ 
     $("div").append("xxxxx"); 
     $("div").append("<span>yyyyy</span>"); 
     $("div").append("&lt;span&gt;zzzzz&lt;&#x2F;span&gt;"); 
    }); 

    ]]> 
    </script> 
    </head> 
    <body> 
    <div> 
    </div> 
    </body> 
</html> 

Oder, wenn Sie noch zzzzz wollen, wie Sie zur Zeit es haben hinzugefügt werden, fügen Sie den CDATA delimiters gleich um die $("div").append("<span>yyyyy</span>"); Linie.

+0

Oder Sie können es auf die harte Tour machen. 'createElement ('span');', 'createTextNode ('yyyyy');' und so weiter und so weiter; Dies erfordert keine weniger als Zeichen. Der beste Weg, aber Sie müssen nicht zwischen HTML- und XHTML-Umgebungen unterscheiden, ist, alle Skripte in extern geladene .js-Dateien zu schreiben. –

+0

Wunderbarer Dank! –

Verwandte Themen