Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery:不使用document.ready并插入HTML标记=允许吗?_Jquery - Fatal编程技术网

JQuery:不使用document.ready并插入HTML标记=允许吗?

JQuery:不使用document.ready并插入HTML标记=允许吗?,jquery,Jquery,这是有效的JQuery使用模式吗 <script type="text/javascript"> $("body").prepend('<input type="hidden" id="error" value="show">'); </script> 也就是说,当文档还没有通过不使用Document加载时,使用Jquery操作/插入HTML标记。准备好插入DOM了吗 通常我只使用document.ready,但在这

这是有效的JQuery使用模式吗

<script type="text/javascript">
        $("body").prepend('<input type="hidden" id="error" value="show">');         
    </script>
也就是说,当文档还没有通过不使用Document加载时,使用Jquery操作/插入HTML标记。准备好插入DOM了吗

通常我只使用document.ready,但在这种情况下,当调用document.ready时,我需要将一些信息插入到DOM中。这是在我想要实现的关系之前发生的一种情况,因此当document.ready被称为document.ready时,我就是舒尔文档中的插入表单字段,因为我依赖于该信息

多谢各位
jens

IE可能无法加载此类HTML—当有人修改未完全呈现的元素时,它会出现问题。我认为正确的选择应该是将这样的代码放在标记之后。

IE可能无法加载这样的HTML—当有人修改未完全呈现的元素时,它会出现问题。我认为正确的选择是将这样的代码放在标记后面。

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

必须将脚本放置在添加元素的元素的结束标记之后。这意味着body元素不是一个很好的候选元素,不能预先为其添加任何内容

确保HTML代码有效。如果您使用的是XHTML,那么应该自动关闭输入元素

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

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

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

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

必须将脚本放置在添加元素的元素的结束标记之后。这意味着body元素不是一个很好的候选元素,不能预先为其添加任何内容

确保HTML代码有效。如果您使用的是XHTML,那么应该自动关闭输入元素

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

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

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

您可以,但它不会一直工作,正如Andrew Bezzub所说,IE将是一个令人惊讶的问题

很难说出总体规划,但以你为例,你能不能不把它直接放在开头的标签后面:

document.write('<input type="hidden" id="error" value="show">');

你可以,但它不会一直起作用,正如安德鲁·贝祖布所说,IE将成为问题的关键——惊喜,惊喜

很难说出总体规划,但以你为例,你能不能不把它直接放在开头的标签后面:

document.write('<input type="hidden" id="error" value="show">');

为什么要投否决票?如果你不解释什么是你不喜欢的,那是毫无意义的。你好,Guffa,非常感谢你的回答!!我连答案都分不开,真是小题大做。我真的很喜欢你的想法,我会进一步搜索,如果这是在IE工作太多。您的帖子帮助我记住了JQuery的内部存储实现,我可以简单地使用这个存储工具来存储我必须存储的状态。所以非常感谢你的帮助!!为什么要投否决票?如果你不解释什么是你不喜欢的,那是毫无意义的。你好,Guffa,非常感谢你的回答!!我连答案都分不开,真是小题大做。我真的很喜欢你的想法,我会进一步搜索,如果这是在IE工作太多。您的帖子帮助我记住了JQuery的内部存储实现,我可以简单地使用这个存储工具来存储我必须存储的状态。所以非常感谢你的帮助!!