我想知道是否可以向JavaScript alert()
方法添加HTML标记,例如:
<b>
<ul>
<li>
等
感谢您的帮助
答案 0 :(得分:37)
您可以使用所有Unicode字符以及转义字符\n
和\t
。一个例子:
document.getElementById("test").onclick = function() {
alert(
'This is an alert with basic formatting\n\n'
+ "\t• list item 1\n"
+ '\t• list item 2\n'
+ '\t• list item 3\n\n'
+ '▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬\n\n'
+ 'Simple table\n\n'
+ 'Char\t| Result\n'
+ '\\n\t| line break\n'
+ '\\t\t| tab space'
);
}
<!DOCTYPE html>
<title>Alert formatting</title>
<meta charset=utf-8>
<button id=test>Click</button>
Firefox中的结果:
几乎所有浏览器都能看到相同的效果。
答案 1 :(得分:18)
alert()是一个无法解释HTML标记的窗口对象的方法
答案 2 :(得分:8)
您可以将HTML添加到警报字符串中,但不会将其呈现为HTML。它只会显示为纯字符串。简单回答:没有。
答案 3 :(得分:7)
这是不可能的。
相反,您应该使用jQuery UI Dialog等内容在Javascript中创建一个假窗口。
答案 4 :(得分:4)
不,你只能使用一些转义序列 - 例如 \ n (可能只有这一个)。
答案 5 :(得分:0)
alert()
不支持HTML,但是您可以使用其他一些方式来格式化消息。
您可以像其他人一样使用Unicode字符,也可以使用ES6 Template literals。例如:
...
.catch(function (error) {
const alertMessage = `Error retrieving resource. Please make sure:
• the resource server is accessible
• you're logged in
Error: ${error}`;
window.alert(alertMessage);
}
如您所见,它保持了我们包含在变量中的换行符和空格,没有多余的字符。