Javascript Alert()方法中的HTML标签

时间:2011-03-11 20:51:12

标签: javascript html

我想知道是否可以向JavaScript alert()方法添加HTML标记,例如:

<b>
<ul>
<li>

感谢您的帮助

6 个答案:

答案 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中的结果:

screenshot 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);
}

输出: enter image description here

如您所见,它保持了我们包含在变量中的换行符和空格,没有多余的字符。