2016-04-18 4 views
9

Ich habe einige Fragen darüber, wie HTML-und JavaScript-Code zu formatieren. Eine allgemeine Antwort scheint zu sein, dass jsbeautify (und GitHub page for jsbeautify.js) eine gute Lösung ist.wie jsbeautifier Einstellungen zu verschönern, meine HTML/Javascript-Code tatsächlich zu verschönern

Ich kann jedoch nicht scheinen, um es richtig zu formatieren, und ich frage mich, ob es einige Standardparameter gibt, die geändert werden müssen, oder wenn ich einfach falsch verstehe, was Verschönerung tun soll. Was ich erwarte, ist, dass jedes verschachtelte Tag in einer neuen Zeile auf der richtigen Ebene eingerückt ist. Aber was ich sehe (und das scheint für jsbeautifier nicht einzigartig zu sein) ist, dass manchmal mehrere Tags in derselben Zeile eine Zeichenfolge erhalten, und Anweisungen zum Aufteilen der Zeile ignoriert werden.

Beispiel 1:

nahm ich dieses Beispiel direkt aus this question.

<div id="hlogo"> 
    <a href="/">Stack Overflow</a>ABC</div> 

Wenn ich den obigen Code und klicken Sie auf „Verschönern Javascript oder HTML“ es tut nichts, um jsbeautifer.org und geben Sie! Ich würde erwarten, dass die Ausgabe in etwa so aussieht:

<div id="hlogo"> 
    <a href="/">Stack Overflow</a>ABC 
</div> 

Hier ist ein weiteres Beispiel. Ich habe "Zeilen um 80 Zeichen umbrechen" ausgewählt.

<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">; 
</script></div></span> 

Die Ausgabe von diesem ist unten. Beachten Sie, dass kein Umbruch stattfindet.

<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">; 
< 
/script></div > < /span> 

Warum ist nicht <span>, <div> und vorzugsweise <input> auf getrennten Leitungen? Und warum ist die Öffnung &lt; in einer separaten Zeile? Ich habe so etwas erwartet:

<!--Meta 6,1--> 
<span> 
    <div> 
     Just some sample text here which is fairly long, maybe about 100 
     characters or so, I'm not really counting. 
     <input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/> 
     <script type="text/javascript">; 
     </script> 
    </div > 
</span> 

Gibt es einige Parameter, die ich übergeben muss, damit dies funktioniert? Ich habe mir die Dokumentation dafür angesehen, komme aber leer aus.

+1

'' ist falsch. '' Tags sind leer und können keine schließenden Tags haben. – Pointy

+0

@ Pointy Danke, behoben. – Michael

+0

@Pointy Interessanterweise ist es tatsächlich möglich, in javascript ein child-Tag zu einem Eingabeelement hinzuzufügen, was dazu führt, dass innerHTML genau so zurückkommt: ''. – Michael

Antwort

0

Das erste Beispiel aufgeführt Sie

<div id="hlogo"> <a href="/">Stack Overflow</a>ABC</div>

nicht richtig funktioniert, weil die nach vorne um den ABC schlitzt verursachen verschönern sie als regulärer Ausdruck zu lesen.

In dem Wrapping-Beispiel denke ich, es gibt ein Problem, weil Sie ein Apostroph in dem Wort Ich bin. Ich nahm es heraus und verschönerte danach ein bisschen herum. Hast du jemals versucht, es nachzuerzählen? Es ist kostenlos und hat einen schöneren Knopf und ich habe festgestellt, dass es wirklich gut funktioniert.

Verwandte Themen