2014-06-07 53 views
0

我想它設置爲一個變量:設置爲與大量的「」

<svg width="500" height="400" xmlns="http://www.w3.org/2000/svg"> <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> <g> <title>background</title> <rect fill="#fff" id="canvas_background" height="402" width="502" y="-1" x="-1"/> <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid"> <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/> </g> </g> <g> <title>Layer 1</title> <ellipse ry="69" rx="75" id="svg_1" cy="172" cx="207" fill-opacity="0.7" stroke-width="2" stroke="#995757" fill="#FF8787"/> </g> </svg> 

的問題是,我想有這種存儲在變量但出發文本「可變文本」在文本本身中關閉。

我會如何正確設置?

e.g: var svgSource = "<svg width="500" height="400" xmlns="http://www.w3.org/2000/svg"> 
<!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> 
<g> 
    <title>background</title> 
    <rect fill="#fff" id="canvas_background" height="402" width="502" y="-1" x="-1"/> 
    <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid"> 
    <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/> 
    </g> 
</g> 
<g> 
    <title>Layer 1</title> 
    <ellipse ry="69" rx="75" id="svg_1" cy="172" cx="207" fill-opacity="0.7" stroke-width="2" stroke="#995757" fill="#FF8787"/> 
</g> 
</svg>" 
+1

只用單引號或轉義 – PeeHaa

+0

剛剛做了,非常感謝。 –

回答

2

使用單引號。

var svgSource = '<svg width="500" height="400" xmlns="http://www.w3.org/2000/svg"> <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> <g> <title>background</title> <rect fill="#fff" id="canvas_background" height="402" width="502" y="-1" x="-1"/> <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid"> <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/> </g> </g> <g> <title>Layer 1</title> <ellipse ry="69" rx="75" id="svg_1" cy="172" cx="207" fill-opacity="0.7" stroke-width="2" stroke="#995757" fill="#FF8787"/> </g> </svg>' 

我翻遍了它 - 你的整個字符串沒有一個單引號,只有雙引號。所以只需使用單引號來包裝它,這將工作正常。

0

您需要使用反斜槓(\

var svgSource = "<svg width=\"500\" height=\"400\" xmlns=\"http://www.w3.org/2000/svg\">" 

「隱藏」(退出)的報價,但仍然有他們作爲字符串的一部分。

+1

文字很大,當然我不需要通過文字並在任何地方放置反斜槓..必須有更好的方式 –

+0

您可以使用記事本++或其他文本編輯器來替換所有文字。 –

+0

@NicholasKyriakides:這表明你應該把標記放入JS字符串中。這是一個調試和維護的噩夢。 –

1

你已經做到這一點:

  1. 先用'更換報價"。這將消除需要避開引號。
  2. 在每行的末尾附加一個反斜槓\以使其成爲多行字符串。
0

您可以使用單引號(')完成此操作。

像這樣:

var svgSource = "<svg width='500' height='400' xmlns='http://www.w3.org/2000/svg'> <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> <g> <title>background</title> <rect fill='#fff' id='canvas_background' height='402' width='502' y='-1' x='-1'/> <g display='none' overflow='visible' y='0' x='0' height='100%' width='100%' id='canvasGrid'> <rect fill='url(#gridpattern)' stroke-width='0' y='0' x='0' height='100%' width='100%'/> </g> </g> <g> <title>Layer 1</title> <ellipse ry='69' rx='75' id='svg_1' cy='172' cx='207' fill-opacity='0.7' stroke-width='2' stroke='#995757' fill='#FF8787'/> </g> </svg>" 

隨着你想要的文字只包含雙引號,你也可以只包住整個事情的單引號。

var svgSource = '<svg width="500" height="400" xmlns="http://www.w3.org/2000/svg"> <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> <g> <title>background</title> <rect fill="#fff" id="canvas_background" height="402" width="502" y="-1" x="-1"/> <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid"> <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/> </g> </g> <g> <title>Layer 1</title> <ellipse ry="69" rx="75" id="svg_1" cy="172" cx="207" fill-opacity="0.7" stroke-width="2" stroke="#995757" fill="#FF8787"/> </g> </svg>'