如何在title属性中使用双引号

我正在试图使用在锚的title属性中包含双引号的string。 到目前为止,我试过这些:

<a href=".." title="Some \"text\"">Some text</a> <!-- title looks like `Some \` --!> 

 <a href=".." title="Some &quot;text&quot;">Some text</a> <!-- title looks like `Some ` --!> 

请注意,使用单引号不是一个选项。

这个变种 –

 <a href=".." title="Some &quot;text&quot;">Some text</a> 

是正确的,它按预期工作 – 你看到渲染页面中的正常引号。

编辑:链接似乎已经死了,所以这里是从archive.org上的caching页面采取的转义字符片段:

 &#060 | less than sign < &#064 | at sign @ &#093 | right bracket ] &#123 | left curly brace { &#125 | right curly brace } &#133 | ellipsis … &#135 | double dagger ‡ &#146 | right single quote ' &#148 | right double quote ” &#150 | short dash – &#153 | trademark ™ &#162 | cent sign ¢ &#165 | yen sign ¥ &#169 | copyright sign © &#172 | logical not sign ¬ &#176 | degree sign ° &#178 | superscript 2 ² &#185 | superscript 1 ¹ &#188 | fraction 1/4 ¼ &#190 | fraction 3/4 ¾ &#247 | division sign ÷ &#8221 | right double quote ” &#062 | greater than sign > &#091 | left bracket [ &#096 | back apostrophe ` &#124 | vertical bar | &#126 | tilde ~ &#134 | dagger † &#145 | left single quote ' &#147 | left double quote “ &#149 | bullet • &#151 | longer dash — &#161 | inverted excallamation point ¡ &#163 | pound sign £ &#166 | broken vertical bar ¦ &#171 | double left than sign « &#174 | registered trademark sign ® &#177 | plus or minus sign ± &#179 | superscript 3 ³ &#187 | double greather than sign » &#189 | fraction 1/2 ½ &#191 | inverted question mark ¿ &#8220 | left double quote “ &#8212 | dash — 

/编辑

给这个一个镜头

HTML转义字符列表。

这是所有这些angular色的一个很好的参考。

是否&#34; 而不是&quot; 工作?

使用&quot; 是做到这一点的方法,我试过了你的第二个代码片段,它可以在Firefox和IE上运行。

它可能适用于HTML Escape字符列表中的任何字符,但是我也遇到了与Java项目相同的问题。 我使用了StringEscapeUtils.escapeHTML("Testing \" <br> <p>") ,标题是<a href=".." title="Test&quot; &lt;br&gt; &lt;p&gt;">Testing</a> <a href=".." title="Test&quot; &lt;br&gt; &lt;p&gt;">Testing</a> <a href=".." title="Test&quot; &lt;br&gt; &lt;p&gt;">Testing</a>

当我将StringEscapeUtils更改为StringEscapeUtils.escapeJavascript("Testing \" <br> <p>")并且它在每个浏览器中都能正常工作时,它只适用于我。

至less有一种情况,使用单引号不起作用,那就是如果你正在从Javascript创build标签“即时”。 您使用单引号来包含string,然后在标记中的任何属性可以有双引号的值。

也许你可以使用JavaScript来解决你的跨浏览器问题。 它使用了一种不同的转义机制,显然你已经很熟悉了:

 (reference-to-the-tag).title = "Some \"text\""; 

它并没有像现在人们想要的那样严格地将HTML,JS和CSS的function分开,但是你需要让谁开心? 你不认识的用户或技术人员?

您可以使用此PHP代码来列出特殊字符…

 <table border="1"><?php for($i=33;$i<9000;$i++)echo "<tr><td>&#38;#$i;<td>&#".$i.";"; ?></table>