将html附加到Jquery/Javascript的正确方法
Correct way to append html to Jquery/Javascript
我有以下代码:
<section class="section1">
//Section one content
</section>
<section class="section2">
<h4>Some Title</h4>
<input type="hidden" class="keys" value="1"/>
<div id="block-close-1"></div>
<div class="block" id="block-1">
//Block content
</div>
</section>
<section class="section3">
//Section3 content
</section>
我想做的是取一些html并将其插入"block-1"之后
我想添加的HTML如下所示:
<input type="hidden" class="keys" value="2"/>
<div id="block-close-2"></div>
<div class="block" id="block-2">
//Block content
</div>
我试过这个:
var html = '//code as above';
$( "html" ).insertAfter( "#block-1");
我得到的错误是:
未捕获层次结构RequestError:失败在"Node"上执行"insertBefore":新的子元素包含家长。
我也尝试过:document.getElementById('#block-4').appendChild(html);
错误:
未捕获的类型错误:无法读取null 的属性"appendChild"
在现有HTML中添加新HTML的正确方法是什么?
您想要$(html)
而不是$("html")
第一个尝试添加变量html的内容,第二个尝试在DOM上找到标记html并添加它~
原生JavaScript方法是:
document.getElementById("block-1").insertAdjacentHTML("afterend",html);
jQuery方法:
$("#block-1").after(html);
从jQuery文档中插入After。。。
.fafter()和.insertAfter()方法执行相同的任务。这个主要的区别在于语法,特别是在内容和目标。使用.fafter(),选择器表达式方法前面是内容所在的容器插入。另一方面,对于.insertAfter(),内容位于方法,作为选择器表达式或作为在上创建的标记苍蝇,并将其插入目标容器之后。
也就是说,如果你想把你的新html放在block-1
之后,你可以选择block-1并在上面调用insertAfter(),把新html作为参数-
$('#block-1').insertAfter( $(html) );
或者,如果对你来说更直观,你可以保留你的订单,但使用.after()
$(html).after($('#block-1'));
- 从Javascript方法返回全局变量
- 简单的JavaScript方法链接
- 如何为javascript方法放入jquery确认对话框
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在类外重写Javascript方法,使用默认行为
- 使用 JavaScript 方法滚动
- 如何从窗体调用外部javascript方法
- 使用c#在Web服务器上运行JavaScript方法
- 如何从角度 js 调用 javascript 方法
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 简单的javascript方法问题
- iframe未执行Javascript方法(PHP)
- Javascript 方法看不到对象变量
- 从HTML中的另一个文件访问javascript方法
- 如何测试只在闭包范围中可见的javascript方法
- 将php表转换为angularjs javascript方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- 在客户端 Javascript 方法之后运行服务器方法