是否有可能在HTML中编写如下内容:
<a href="bla bla bla bla\
bla bla bla bla">....</a>
这个想法是在不同的行中分割字符串属性以提高可读性。
答案 0 :(得分:12)
是的,这是可能的: https://stackoverflow.com/a/38874964/3135511 秘诀是使用标签代替空格 以及使用换行符
<a href="
bla
bla bla
bla bla bla
bla bla
bla
">....</a>
&#13;
背景:
字符串中的空格将转义为%20,因此留在 +但是空格为标签&amp; 换行符将被丢弃/过滤掉。
如果您希望它们在字符串中为Tab %09
写{}为%0A%0D
用于某些CR / LF窗口换行符。 - &GT; 这是两个字节的一个
C arrier R eturn char和一些 L ine F eed char。
答案 1 :(得分:2)
不,这是不可能的。 HTML没有“行继续”字符。如果在属性值中放置换行符,浏览器行为会有所不同,但现代浏览器的行为方式与HTML5中记录的方式相同:允许换行符,并按字面意思将其存储为DOM中的换行符。这意味着href
属性值已被破坏且无效。
为缓解长href
值的问题,最好的做法是将这样的值放在自己的行上,不带引号:
<a href=
http://www.example.com/some-long-path/and-so-on
>link</a>
相反,允许以下内容并导致作为双线工具提示(在现代浏览器中)。关键是一般语法允许换行,但它们有后果,属性的特定语法可能禁止换行。
<a href=foo title="Hello
world">bar</a>
答案 2 :(得分:1)
你可以做到没有任何突破性的角色。就像这样:
<a href="http://stackoverflow.com
/questions/
22831988/
string-attribute-values-in-multiple-lines-html">
LINK
</a>
答案 3 :(得分:1)
只要行之间没有空格,您就可以使用@laaposto建议。
如果您不想遵循该规则,则需要使用javascript删除空格:
var anchor = document.getElementsByTagName("a");
for(var i=0; i<= anchor.length; i++) {
var href = anchor[i].href.replace(/%20/g,'');
anchor[i].href = href;
}
<强> Fiddle Demo 强>
使用jQuery或更简单:
var href = $('a').attr('href').replace(/ /g,'');
$('a').attr('href', href);
<强> Fiddle Demo 强>
答案 4 :(得分:0)
你被允许使用PHP吗?如果是这样,你可以这样做:
<a href="<?= "very "
."long "
."string" ?>">
答案 5 :(得分:-1)
你可以用任何方式书写,但要确保行之间没有任何空格。
林克这一个
<a href="http://stackoverflow
.com/quest
ions/228319
88/string-attribute-values-in-multiple-lines-html">