Javascript:创建在 JSP 中定义的 DOM 元素

标签 javascript jquery html css jsp

在我的 .jsp 文件中,我定义了一个这样的列表:

<script type="text" id="my_list">
    <ol class="a-ordered-list a-vertical a-spacing-medium"></ol>
</script>

我想在需要时动态地在 Javascript 中创建这样的列表(使用此处定义的确切 css)。像这样:

function updateData(data, cell, $) {
    var list = document.createElement($("#my_list").html());
    // ...

但是这会导致:

未捕获的 DOMException:无法在“文档”上执行“createElement”:提供的标签名称

('
        <ol class="a-ordered-list a-vertical a-spacing-medium"></ol>
    ')

不是有效名称。

如何实现?如何在 JS 中动态创建来自 HTML 的预定义元素?

最佳答案

由于您使用的是 jQuery:

var list = $($("#my_list").html());

然后您可以使用 jQuery API 将其附加到 DOM(例如):

$("#something").append(list);

document.createElement() API 只需要一个标签名称,因此传递完整的标记是导致错误的原因。但是对于 jQuery,标记是可以的,它使用不同的方法来构建新的 DOM 节点。

关于Javascript:创建在 JSP 中定义的 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41062692/

相关文章:

JQuery 动态对话框 Div

javascript - Node.js Express.js secret 静态文件

javascript - 使用脚本标签内的 php 变量设置 jQuery ajax url 是否合适?

javascript - jsp中如何通过点击href标签传递数据

javascript - 在移动版 Safari 中显示键盘时防止屏幕向上滚动

javascript - JavaScript 是否有与 PHP 的 "or"运算符等效的 JavaScript?

javascript - 根据图像的大小有条件地设置样式属性,通过 url 获取

css - Bootstrap 4 - 带选项卡的模态标题 - 如何降低标题高度

python - bs4 findAll 找不到类标签

javascript - 我如何告诉小部件最大化以填充整个可用空间?