如何在HTML标记属性中添加换行符?
例如:
<a href="somepage.html" onclick="javascript: foo('This is a multiline string.
This is the part after the newline.')">some link</a>
编辑:抱歉,不好的例子,如果标签碰巧不在javascript中,请说:
<sometag someattr="This is a multiline string.
This is the part after the newline." />
编辑2 :原来字符串中的换行符不是我的问题,它是我调用的javascript函数。 FWIW,“
”可用于HTML属性中的换行符。
答案 0 :(得分:18)
根据我对HTML标准的记忆,字符实体在属性中工作,因此可能工作:
<sometag someattr="This is a multiline string. This is the part after the newline." />
我不确定你想要的“换行符”应该是&amp;#10; (\ n)或&amp;#13;&amp;#10; (\ r \ n),我不确定浏览器是否会按照你想要的方式解释它。
你为什么需要它?您想通过在HTML标记属性中添加换行符来解决哪些具体问题?
答案 1 :(得分:14)
要包含多行值,只需在编辑器的下一行继续html属性的文本,例如
<input type="submit" value="hallo
hallo">
将第二个hallo放在第一个
之下答案 2 :(得分:5)
作为一般规则,属性中的换行符会被保留,因此您的第二个示例可以正常工作。你试过吗?你能给出一个具体问题吗?
测试时请看一下: -
<a href="somepage3.html" onclick="javascript: alert(this.getAttribute('thing'))" thing="This is a multiline string.
This is the part after the newline.">some link</a>
警报包含属性中的换行符。
答案 3 :(得分:1)
<a href="somepage.html" onclick="javascript: foo('This is a multiline string. \
This is the part after the newline.')">some link</a>
Javascript在字符串的新行末尾需要反斜杠。
答案 4 :(得分:0)
我不确定,但您可以尝试\ r或\ n
javascript: foo('This is a multiline string.\rThis is the part after the newline.')
或
javascript: foo('This is a multiline string.\nThis is the part after the newline.')
答案 5 :(得分:0)
通常,HTML源代码中的换行符会显示您在结果中的意图。
(当然取决于编辑)
答案 6 :(得分:-1)
因为它是在Javascript中,如果在双引号内,你会使用“\ n”(对于单引号不是正面的,我最近在PHP中使用过很多。
老实说,值得一提的是,您应该使用事件和委托人,而不是直接在元素上放置javascript事件。