javascript - 按下按钮时无法使用 jquery 打印字符串

标签 javascript jquery html

我想在用户按下按钮时在 DOM 上渲染一个字符串。

这是 HTML 代码:

<p>
    <h1 class="text-center" id="notif">
    </h1>
</p>

这是脚本的一部分:

$("#btn_My").click(function(e) {
    $("#notif").html("Hello World!");

单击按钮时,呈现的页面中会显示一个新段落,但该字符串不在呈现的 View 内。

当我检查页面的源代码时,这就是我得到的:

<p>
</p>
<h1 class="text-center" id="notif" style="display: none;">Hello World!</h1>
<p></p>

为什么会发生这种情况以及我如何才能正确渲染它?

最佳答案

这是正常行为。因为实现是错误的。 :(

原因是标签P是一个inline元素,不能包含block元素,就像标签H1的情况一样.

P 更改为 DIV

参见示例:https://jsfiddle.net/ty0uswrm/

阅读此文档:https://html.spec.whatwg.org/multipage/dom.html#phrasing-content

关于javascript - 按下按钮时无法使用 jquery 打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58191044/

相关文章:

javascript - 在 Javascript 中验证密码匹配

javascript - 需要使用CSS从 child 到 parent 的路径

php - 内联 CSS 显示/隐藏 div 不起作用

css - 使用 Jquery 的下拉菜单

html - HTML5 属性 contenteditable 安全吗?

javascript - 获取点击像素内的元素?

javascript - 使用 Backbone 的模型#destroy 后,如何摆脱附加到 View 的模型?

php - 如果除了 url 之外什么都没有创建网站的屏幕截图图像?

php - javascript 预订系统,签到结账日期与已预订日期

javascript - 使用 2 个数组输入 x-y 进行绘图