首页 > 编程语言 >JavaScript——DOM属性之innerHTML和insertBefore

JavaScript——DOM属性之innerHTML和insertBefore

时间:2024-07-23 11:25:42浏览次数:13  
标签:insertBefore JavaScript innerHTML getElementById parentNode var document 节点

今天我们来看看DOM当中的innerHTML和insertBefore。今天是用的样例仍然与上次一样,样例代码如下:

<body>
    <p>喜欢的城市</p>
    <ul id="city">
        <li id="bj" name="beijing">北京</li>
        <li>上海</li>
        <li>广州</li>
        <li>深圳</li>
    </ul>
    <p>喜欢的语言</p>
    <ul id="language">
        <li id="js">javascript</li>
        <li>python</li>
        <li>c++</li>
        <li>java</li>
</body>

基本概念

innerHTML

innerHTML属性用于获取或设置元素的HTML内容。

如果想要获取某个元素内部的HTML结构时,可以使用 innerHTML 属性。这会返回该元素内部的HTML字符串,包括所有的子元素和它们的HTML内容。

同样地,你也可以使用 innerHTML 属性来设置某个元素内部的HTML内容。当你这样做时,原有的子元素会被新的HTML内容替换。

insertBefore

insertBefore允许将一个节点(newNode)插入到父节点(parentNode)中的指定子节点(referenceNode)之前。如果referenceNodeparentNode的第一个子节点,那么newNode将被插入为parentNode的第一个子节点。如果referenceNodenull,或者不是一个子节点,那么newNode将被添加到parentNode的子节点列表的末尾。


使用

innerHTML

获取内部的HTML结构

如果我们想要使用innerHTML,我们只需要直接使用“点”记性调用即可,代码和效果如下:

<script type = "text/javascript">
    window.onload = function(){
        var citynode = document.getElementById("city");
        alert(citynode.innerHTML);
    }
</script>

此时我们就获得了元素内部的HTML结构。

交换内部元素

如果我们想要交换两个内部的html元素,我们可以使用一个中间变量来完成:

<script type = "text/javascript">
    window.onload = function(){
        var citynode = document.getElementById("city");
        //呼唤city和lánguage节点的内容
        var tempNode = citynode.innerHTML;
        var languageNode = document.getElementById("language");
        citynode.innerHTML = languageNode.innerHTML;
        languageNode.innerHTML = tempNode;
    }
</script>

InsertBefore

基本使用-插入到前面

该方法除了插入,还有移动节点的功能,具体代码示例和效果示意如下:

<script type = "text/javascript">
    window.onload = function(){
        var cityNode = document.getElementById("city");
        var bjNode = document.getElementById("bj");
        var rlNode = document.getElementById("js");
        cityNode.insertBefore(rlNode, bjNode);
    }
</script>

插入到后面

如果我想要向后插入,我们需要使用进行判断,当父节点存在时则进行追加,如果父节点不存在就进行向前插入。

<script type = "text/javascript">
    window.onload = function(){
        var city = document.getElementById("city");
        var bjNode = document.getElementById("bj");
        var jsNode = document.getElementById("js");
        var refNode = document.getElementById("sh");
        insertAfter(jsNode,refNode);
    }
    function insertAfter(newNode, refNode){
        var parentNode = refNode.parentNode;
        if(parentNode){
            var lastNode = parentNode.lastChild
            if(refNode == lastNode){
                parentNode.appendChild(newNode);
            }
            else{
                var nextNode = refNode.nextsibling;
                parentNode.insertBefore(newNode,nextNode)
            }
        }
    }
</script>

标签:insertBefore,JavaScript,innerHTML,getElementById,parentNode,var,document,节点
From: https://blog.csdn.net/m0_75262255/article/details/140622330

相关文章

  • 在 JavaScript 异步接收到的浏览器中显示 pdf
    我有一个Django应用程序,我从JS打电话索要pdf。Django视图返回HttpResponse的application/pdf如何让JS将接收到的application/pdf数据显示为pdf?Django视图defpdf_generation(request):context={}t=get_template('html_pd......
  • JavaScript笔记总结(Xmind格式):第一天
    Xmind鸟瞰图:简单文字总结:js使用方法:        1.行内样式(需要特定条件才可以使用)        2.内部样式(script尽量写在body最下面)        3.外部样式(在script标签中通过src引入外部的js文件)window对象的方法(window可以省略):        1.alert......
  • JavaScript笔记总结(Xmind格式):第二天
    Xmind鸟瞰图:简单文字总结:数据类型检测:可以使用typeof检测数据类型数据类型转换:  1.其它类型转换为Boolearn    ①数字类型转换Boolean:只有0会被转换为false,其它的非0数字都会转换为true    ②字符串类型转换为Boolean:只有空字符串会被转换为false,......
  • JavaScript笔记总结(Xmind格式):第三天
    Xmind鸟瞰图:简单文字总结:数组的创建:  1.数组的特性:    ①数组中,可以添加任意的数据类型    ②数组是一个对象,属于复杂数据类型    ③直接创建的数组可以在中间添加空值    ④构造函数创建的数据不可以添加空值,会直接报错  2.......
  • Python - Adob​​e InDesign Javascript 脚本帮助从 Python 调用 JSX
    提前致谢。希望每个人都表现出色。我试图从python调用Adob​​eIndesignJSX文件,下面是示例代码:我想在Adob​​eINdesign2024或更高版本上运行它。我在PythonInDesign脚本编写上看到了一些示例:从预检中获取溢出文本框以自动调整大小作为参考,可能适用于Ado......
  • 【校招+社招】华为OD机试 - 拼接URL(Java、JavaScript、Python、C、C++)
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)算法概述URL拼接(URL拼接)是指将多个URL组件(方案、主机、端口、路径、查询参......
  • 现代Web开发的JavaScript核心概念
    在当今的Web开发中,JavaScript不仅是一种优势,更是必不可少的工具。它不断带来新功能、新术语和新概念,使Web应用程序更加互动、高效和用户友好。无论你是刚刚踏上Web开发之路,还是想提升自己的技能,掌握JavaScript的基本术语都是至关重要的。在这篇综合指南中,我们将探讨每......
  • 【前端】JavaScript入门及实战71-75
    文章目录71数组72数组的方法73数组的遍历74数组练习75forEach71数组<!DOCTYPEhtml><html><head><title></title><metacharset="utf-8"><scripttype="text/javascript"> //使用字面量来创建数组 //语法:[] vararr=[......
  • javascript中常规操作节点的方法
    JavaScript常用操作DOM节点的方法包括获取节点、创建节点、添加节点、删除节点、替换节点等。1.获取节点(1)通过ID获取使用document.getElementById(“元素ID”)方法,通过元素的ID获取单个元素。这是最常用的方法之一,因为ID在页面中是唯一的,可以直接定位到具体元素。<d......
  • 【前端】JavaScript入门及实战21-25
    文章目录21关系运算符22编码23相等运算符24条件运算符25运算符优先级21关系运算符<!DOCTYPEhtml><html><head><title></title><metacharset="utf-8"><scripttype="text/javascript"> /* 通过关系运算符可以比较两个值之间的大小关系, 如果关......