是否期望jQuery $('span').html()将XHTML br标签转换为html语法?

slo*_*ife 6 html jquery

如果我有这样的span标签:

 <span>Hi<br />SecondLine</span>
Run Code Online (Sandbox Code Playgroud)

我称之为jQuery函数:

 var html = $('span').html();
Run Code Online (Sandbox Code Playgroud)

html设置为:

 Hi<br>SecondLine
Run Code Online (Sandbox Code Playgroud)

现在,我意识到函数的名称是html()而不是xhtml().但这是预期的行为吗?我可以指望它,或者我总是需要检查xhtml br标签和html br标签,例如,这个例子:

function br2nl(text) {
    return text.replace(/<br \/>/gi, '\n').replace(/<br>/gi, '\n');
}
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 9

它没有.它只是修改了浏览器DOM.

在使用innerHTML时,浏览器可以根据需要将DOM序列化为HTML或XHTML.不同的浏览器行为不同