多行的字符串属性值,HTML

时间:2014-04-03 08:29:31

标签: html string split

是否有可能在HTML中编写如下内容:

<a href="bla bla bla bla\
        bla bla bla bla">....</a>

这个想法是在不同的行中分割字符串属性以提高可读性。

6 个答案:

答案 0 :(得分:12)

是的,这是可能的: https://stackoverflow.com/a/38874964/3135511 秘诀是使用标签代替空格 以及使用换行符

&#13;
&#13;
<a href="
	bla 
	bla bla 
	bla bla bla 
	bla bla 
	bla
	">....</a>
&#13;
&#13;
&#13; ^ - 尝试代码并将鼠标悬停在 .... 上 并寻找链接 - 它应该读取就像 bla bla bla bla bla bla bla bla bla

背景:

  • 字符串中的空格将转义为%20,因此留在 +但是空格为标签&amp; 换行符将被丢弃/过滤掉。

    如果您希望它们在字符串中为Tab %09写{}为%0A%0D用于某些CR / LF窗口换行符。 - &GT; 这是两个字节的一个 C arrier R eturn char和一些 L ine F eed char。

    < / LI>

答案 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>

DEMO

答案 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">