div中动态插入javascript代码

本文介绍了 HTML 中 insertAdjacentHTML 方法的使用方式及示例代码,该方法允许开发者在指定元素的开始或结束位置插入新的 HTML 内容。文章通过三个不同场景展示了如何利用此方法实现动态内容插入。
<div id="test"></div>
<button onclick="insertHTML()"/>

<script>
function insertHTML(){
var str="aaaaa"+"<script defer> alert('终于能运行JS了,靠!'); </script" + ">";
document.getElementById("test").insertAdjacentHTML("afterBegin",   str);
}
</script>

 

 

添加HTML内容与文本内容以前用的是innerHTML与innerText方法,最近发现还有insertAdjacentHTML和insertAdjacentText方法,这两个方法更灵活,可以在指定的地方插入html内容和文本内容。
insertAdjacentHTML方法:在指定的地方插入html标签语句

原型:insertAdajcentHTML(swhere,stext)

参数:

swhere: 指定插入html标签语句的地方,有四种值可用:

1.     beforeBegin: 插入到标签开始前

2.     afterBegin:插入到标签开始标记之后

3.     beforeEnd:插入到标签结束标记前

4.     afterEnd:插入到标签结束标记后

stext:要插入的内容

 1  < html >
 2       < head >
 3       < script  language ="javascript" >
 4       function  myfun(){
 5           var  obj  =  document.getElementById( " btn1 " );
 6          obj.insertAdjacentHTML( " afterEnd " , " <br><input name= " txt1 " > " );
 7      }
 8       </ script >
 9       </ head >
10       < body >
11           < input  name ="txt" >
12           < input  id ="btn1"  name ="btn1"  type ="button"  value ="更多"  onclick ="myfun()" >
13       </ body >
14  </ html >

************************************************************************************

 1  < html >
 2  < head >
 3  < title > 24.htm insertAdjacentHTML插入新内容 </ title >
 4  < script  language ="jscript" >
 5  function  addsome()
 6  {
 7      document.all.paral.insertAdjacentHTML( " afterBegin " , " <h1>在文本前容器内插入内容</h1> " );
 8      document.all.paral.insertAdjacentHTML( " beforeEnd " , " <h2>在文本后容器内插入内容</h2> " );
 9      document.all.paral.insertAdjacentHTML( " beforeBegin " , " <h4>在文本前容器外插入内容</h1> " );
10      document.all.paral.insertAdjacentHTML( " afterEnd " , " <h5>在文本后容器外插入内容</h2> " );
11  }
12  </ script >
13  </ head >
14  < body  onload ="addsome()" >
15  < div  id ="paral"  style ="fontsize:6;color='#ff00ff'" > 原来的内容 </ div >< hr >
16  </ body >
17  </ html >  


**********************************************************************************

 1  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 2  < HTML >
 3  < HEAD >
 4  < TITLE >  New Document  </ TITLE >
 5  < META  NAME ="Generator"  CONTENT ="EditPlus" >
 6  < META  NAME ="Author"  CONTENT ="" >
 7  < META  NAME ="Keywords"  CONTENT ="" >
 8  < META  NAME ="Description"  CONTENT ="" >
 9  </ HEAD >
10  < BODY >
11  < script >
12  var  num = 0 ;
13  var  No_sys = 0 ;
14  function  Add_button(){
15  if (No_sys < 8 ){
16      c_input.insertAdjacentHTML( " beforeEnd " , " <div id= " bar " +num+ ""  oncontextmenu= " Remove_button(bar " +num+ " ); return      false "  style= " background:red;width: 40 ;height: 20 " > " + num + " </div> " );
17      num ++ ;
18      No_sys ++ ;
19  }
20  }
21  function  Remove_button(obj){
22  obj.removeNode( true );
23  No_sys -- ;
24  }
25  </ script >
26  < input  type ="button"  onclick ="Add_button()"  value ="动态加" >
27  < input  type ="button"  onclick ="alert(c_input.innerHTML)"  value ="看" >
28  < div  id ="c_input" >
29  </ div >   
30  </ BODY >
31  </ HTML >

 

在网页中使用 JavaScript 动态插入 HTML 代码块是前端开发中常见的操作,可以通过多种方式实现,包括使用 `innerHTML`、`insertAdjacentHTML`、DOM 操作方法等。以下是一些常用方法及其使用示例: ### 使用 `innerHTML` 插入 HTML 代码块 `innerHTML` 是最直接的方式,可以将 HTML 字符串插入到指定的 DOM 元素中。 ```javascript // 获取目标元素 var container = document.getElementById('container'); // 定义要插入HTML 代码块 var htmlCode = '<h1>Hello, World!</h1><p>This is a dynamically inserted HTML block.</p>'; // 插入 HTML 代码 container.innerHTML = htmlCode; ``` ### 使用 `insertAdjacentHTML` 插入 HTML 代码块 `insertAdjacentHTML` 方法允许将 HTML 文本插入到指定的位置,相对于目标元素的位置可以是前、后、内部等。 ```javascript // 获取目标元素 var container = document.getElementById('container'); // 定义要插入HTML 代码块 var htmlCode = '<h1>Hello, World!</h1><p>This is a dynamically inserted HTML block.</p>'; // 插入 HTML 代码到目标元素的开始位置 container.insertAdjacentHTML('afterbegin', htmlCode); ``` `insertAdjacentHTML` 的位置参数包括: - `'beforebegin'`:在目标元素之前插入。 - `'afterbegin'`:在目标元素内部的开始位置插入。 - `'beforeend'`:在目标元素内部的结束位置插入。 - `'afterend'`:在目标元素之后插入。 ### 使用 DOM 操作方法插入 HTML 代码块 通过创建 DOM 元素并将其添加到页面中,是一种更结构化的方式。 ```javascript // 创建一个 div 元素 var newDiv = document.createElement('div'); // 创建一个 h1 元素并设置内容 var heading = document.createElement('h1'); heading.textContent = 'Hello, World!'; // 创建一个 p 元素并设置内容 var paragraph = document.createElement('p'); paragraph.textContent = 'This is a dynamically inserted HTML block.'; // 将 h1 和 p 元素添加到 div 中 newDiv.appendChild(heading); newDiv.appendChild(paragraph); // 将 div 添加到页面中 document.getElementById('container').appendChild(newDiv); ``` ### 使用 `textContent` 或 `innerText` 插入HTML 文本 如果希望将 HTML 代码作为纯文本显示(例如在 `<pre>` 或 `<textarea>` 中),可以使用 `textContent` 或 `innerText`。 ```javascript // 获取目标元素 var textarea = document.getElementById('codeTextarea'); // 定义要插入HTML 代码块 var htmlCode = '<h1>Hello, World!</h1><p>This is some HTML code.</p>'; // 插入 HTML 代码作为文本 textarea.textContent = htmlCode; ``` ### 总结 不同的方法适用于不同的场景。如果需要快速插入 HTML 内容,`innerHTML` 是一个简单有效的方式;如果需要更精确地控制插入位置,`insertAdjacentHTML` 是更好的选择;而如果需要更复杂的 DOM 操作,可以使用 `createElement` 和 `appendChild` 等方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值