zoukankan      html  css  js  c++  java
  • insertAdjacentHTML方法详解

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

    insertAdjacentText方法与 insertAdjacentHTML方法类似,只不过只能插入纯文本,参数相同

    方法名称:insertHtml(where,el,html)

    参数介绍:
    where:插入位置。包括beforeBegin,beforeEnd,afterBegin,afterEnd。
    el:用于参照插入位置的html元素对象
    html:要插入的html代码


    insertAdjacentHTML 方法:在指定的地方插入html标签语句

    原型:insertAdajcentHTML(swhere,stext)

     

    参数:

    swhere: 指定插入html标签语句的地方,

    stext:要插入的内容

    有四种值可用:

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

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

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

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

    <html>
         <head>
         <mce:script language="javascript"><!--
         function myfun(){
             var obj = document.getElementById("btn1");
             obj.insertAdjacentHTML("afterEnd","<br><input name="txt1">");
         }
         
    // --></mce:script>
         </head>
         <body>
             <input name="txt">
             <input id="btn1" name="btn1" type="button" value="更多" onclick="myfun()">
         </body>
     </html>
    <html>
     <head>
     <title>24.htm insertAdjacentHTML插入新内容</title>
     <mce:script language="jscript"><!--
     function addsome()
     {
         document.all.paral.insertAdjacentHTML("afterBegin","<h1> 在文本前容器内插入内容1</h1>");
         document.all.paral.insertAdjacentHTML("beforeEnd","<h2> 在文本后容器内插入内容2</h2>");
         document.all.paral.insertAdjacentHTML("beforeBegin","<h4> 在文本前容器外插入内容4</h1>");
         document.all.paral.insertAdjacentHTML("afterEnd","<h5> 在文本后容器外插入内容5</h2>");
     }
     
    // --></mce:script>
     </head>
     <body onload="addsome()">
     <div id="paral" style="fontsize:6;color='#ff00ff'" mce_style="fontsize:6;color='#ff00ff'">原来的内容</div><hr>
     </body>
     </html> 

     注意:

    1. 这两种方法必须在整个文档装载完成之后才能使用,否则将出错。
    2. InsertAdjacentText只能插入普通文本,InsertAdjacentHTML插入html格式的文本
    3. 用InsertAdjacentHTML插入脚本,必须在script元素中使用defer属性,否则脚本执行将出现运行期错误
    4. InsertAdjacentHTML插入html元素后,all以及其他可能的元素集合将自动更新以反应动态变化。如页面后续元素的sourceIndex 属性将改变。
    5. 当赋予InsertHTML/outerHTML属性无效的HTML标签,该方法可能出现运行时错。
    6.只有文档BODY内显示的内容能被以上属性和方法动态改变,BODY对象的内容能被动态操作,但BODY对象本身无法被替换。
    7.以上属性和方式不能操作空标签(没有内容的html标签),如input,img。
    8.对于table对象而言,只有td(innerHTML/innerText)和table(outerHMTL/outerText)对象可以用某些属性来替换或插入内容;而其他table对象,如tr、tbody不能用这些属性来改变内容。

  • 相关阅读:
    从零打造树莓派智能助手(一)——让树莓派说话
    以np.concatenate为主题,谈谈numpy数组按维度合并的问题
    树莓派apt报错:E: 'Release' 这个值对 APT::Default-Release 是无效的,因为在源里找不到这样的发行
    我遇到的一些Git问题汇编
    在Mac平台用Sublime编辑器使用Git并连接github
    LeetCode108——Convert Sorted Array to Binary Search Tree
    LeetCode122——Best Time to Buy and Sell Stock II
    LeetCode686——Repeated String Match
    Python爬虫 — 百度翻译
    HTTP 协议
  • 原文地址:https://www.cnblogs.com/pigtail/p/2953848.html
Copyright © 2011-2022 走看看