JQuery:不使用 document.ready 并插入 HTML 标签 = 允许这样做吗?

标签 jquery

这是一个有效的 JQuery 使用模式吗:

<script type="text/javascript">
        $("body").prepend('<input type="hidden" id="error" value="show">');         
    </script>

这是使用 Jquery 操作/插入 HTML 标签当文档尚未加载时(不使用 document.ready 插入 DOM)?

(通常我只使用 document.ready,但在这种情况下,当调用 document.ready 时,我需要将一些信息插入到当前存在的 DOM 中。这是某种“发生在之前”的关系想要实现这样我就可以确定当调用 document.ready 时插入的表单字段在文档中可用,因为我依赖于该信息。

非常感谢 詹斯

最佳答案

是的,你可以这样做,但是:

  • 您必须将脚本放置在要添加元素的元素的结束标记之后的某个位置。这意味着 body 元素不适合在其前面添加任何内容。

  • 确保 HTML 代码有效。如果您使用 XHTML,您应该自行关闭输入元素。

考虑使用对象创建模型而不是innerHTML模型:

$("#someElement").prepend(
  $('<input/>').attr({ 'type': 'hidden', 'id': 'error' 'value': 'show' })
);

这会将元素创建为 DOM 对象,而不是使用innerHTML 来解析 HTML 代码。

关于JQuery:不使用 document.ready 并插入 HTML 标签 = 允许这样做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465656/

相关文章:

javascript - 如何使用 javascript 扩展多级 div 并在 url 中保存扩展条件以用于链接共享或手动复制/过去

javascript - 在 ajax 调用后,当我点击页面跳转到顶部

javascript - Cypress 自定义查找命令不可链接

javascript - 如何在居中的 div 中获取光标位置?

javascript - 使调用自定义 jQuery 插件变得更容易

Javascript - 防止三次单击时选择整个文本并仅选择单个单词

javascript - 修改页面 DOM 的 Firefox 插件

javascript - 如何在 jquery 或 javascript 中使用 html

javascript - 是否可以根据更改功能更改 div 的顺序?

javascript - 数据表 fnCellRender 不渲染