JS和JQuery对操作DOM的方法

本文主要和大家分享JS和JQuery对操作DOM的方法,主要以代码的方法,希望能帮助到大家。
查询节点:

js:1.根据id查询;2.根据标签名查询;3.根据name查询;4.根据层次查询;详情如下:

//1.根据ID查询节点var ul = document.getElementById("city");var cd = document.getElementById("cd");console.log(ul);console.log(cd);//2.根据标签名查询节点//2.1在整个文档(document)内查询console.log(document.getElementsByTagName("li"));//2.2在某个元素节点(element)内查询console.log(ul.getElementsByTagName("li"));//3.根据name查询节点(基本都是给表单控件用的)console.log(document.getElementsByName("sex"));//4.根据层次查询节点//获取已得到的节点的父亲、孩子和兄弟//4.1获取父亲,返回的是单个值console.log(cd.parentNode);//4.2获取孩子,返回的是多个值//这种方式返回的节点是个数组,并且会把空格当做孩子放入数组中console.log(ul.childNodes);//不带空格的获取孩子的节点console.log(ul.getElementsByTagName("li"));//标准API中没有直接查询兄弟的方法,//必须通过查询父亲、查询孩子来实现查询兄弟,//下面的语句输出:上海console.log(cd.parentNode.getElementsByTagName("li")[1]);

登录后复制

jQuery:直接利用jQuery选择器,选中元素,进行操作即可;请查看另一片文章:jQuery选择器https://blog.csdn.net/huang_yx/article/details/79686975(点击打开链接)

读写节点:

js:大致分为:1.读写节点名称和类型;2.读写节点内容;3.读写节点属性;4.读写表单控件的值;详情如下:

//1.读取节点的名称和类型//获取p1var p1 =document.getElementById("p1");console.log(p1.nodeName);console.log(p1.nodeType);//2.读写节点的内容(

内容)//innerHTML:支持子标签console.log(p1.innerHTML)console.log(p1.innerHTML = '单标签试一试')console.log(p1.innerHTML)//innerText:不支持子标签var p2 = document.getElementById("p2");console.log(p2.innerText);p2.innerText = "2.查询节点";//3.读写节点的属性//3.1.标准的API是下面的三个//先取到这个节点var img = document.getElementById("li");console.log(img.getAttribute("src"));img.setAttribute("src", "../img/add.png");img.removeAttribute("src");//3.2.新的API(低版本浏览器不支持)//节点.属性名(class除外,要写成className)//注意点:.style和.className是标准的var a = document.getElementById("baidu");console.log(a.href);a.href = "undifined";//4.读写表单控件的值//input.value/input.value=""

登录后复制

jQuery:

读写节点的HTML内容(支持子标签):对应上面js的第2点

obj.html()/obj.html(“123”)

读写节点的文本内容(不支持子标签):对应上面js的第2点

obj.text()/obj.text(“123”)

读写节点的属性值:对应上面js第3点

obj.attr(“属性名”)/obj.val(“属性名”,”属性值”)

读写节点的value属性值:对应上面js第4点

obj.val()/obj.val(“abc”)

注:obj表示jQuery对象

增删节点:js对节点的增删只能通过父节点,jQuery则样方便很多,有很多对应的api

js:

nbsp;html>增删节点function add(){//创建新节点//相当于在内存中创建了一个
  • var li = document.createElement("li");//相当于在
  • 中创建了一个内容li.innerHTML = "天津";//追加新节点,可以通过父亲的孩子获取,也可以直接通过ID获取var ul = document.getElementById("city");ul.appendChild(li);}//插入到节点中间function insertion(){//创建新节点var li = document.createElement("li");li.innerHTML = "成都";//插入新节点,到广州之前var ul = document.getElementById("city");var gz = document.getElementById("gz");ul.insertBefore(li, gz)}//删除节点,必须通过父亲来删除function del(){//获取要删除的节点var sz = document.getElementById("sz");//必须通过父亲才能取删除孩子的节点sz.parentNode.removeChild(sz);}

  • 登录后复制北京上海广州深圳

    jQuert:

    创建节点:

    $(“节点内容”);

    $(“你好”)

    插入节点:常用API

    parent.append(obj):作为最后一个子节点添加进来

    parent.prepend(obj):作为第一个子节点添加进来

    brother.after(obj):作为下一个兄弟节点添加进来

    brother.before(obj):作为上一个兄弟节点添加进来

    删除节点:常用API

    obj.remove():删除节点

    obj.remove(selector):只删除满足selector的节点

    obj.empty():清空节点

    遍历节点:jQuery对应的一些API,方便节点操作

    children()/children(selector):直接子节点

    next()/next(selector):下一个兄弟节点

    prev()/prev(selector):上一个兄弟节点

    siblings()/siblings(selector):所有兄弟

    find(selector):查找满足选择器的所有后代

    parent():父节点

    总结:

    js和jQuery对节点的操作无非都是增删改查之类,但是jQuery是一个js的框架,它的核心理念:write less,do more;极大的简化代码的书写。它封装了JS,CSS,DOM,提供了一致的、简约的API,所有使用起来更加方便快捷,相应的写法也更加简单。

    相关推荐:

    js中DOM元素的操作方法

    js之DOM事件流详解

    JavaScript之优化DOM

    以上就是JS和JQuery对操作DOM的方法的详细内容,更多请关注【创想鸟】其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

    发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2779134.html

    (0)
    上一篇 2025年3月8日 15:43:58
    下一篇 2025年3月8日 15:44:08

    AD推荐 黄金广告位招租... 更多推荐

    相关推荐

    • js实现txt文件的上传并预览的代码

      本文主要和大家分享js实现txt文件的上传并预览的代码,因为是简单的txt文件,只涉及文本,如果需要涉及图片预览就需要使用papaparse和jschardet,此处不多叙述。  表单按钮使用js的onchange=”uploadfile(…

      2025年3月8日 编程技术
      200
    • js判断是PC端还是移动端

      本文主要和大家分享js判断是PC端还是移动端的方法,希望能帮助到大家。 #### 方案1:”function IsPC() {    var userAgentInfo = navigator.userAgent;    var Agent…

      编程技术 2025年3月8日
      200
    • js事件流以及扩展应用实例

      什么是事件流呢?本文主要和大家分享js事件流以及扩展应用实例,希望能帮助到大家。 DOM标准规定事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。  ● 事件捕获阶段:实际目标( )在捕获阶段不会接收事件。也就是在捕获阶段,事件…

      2025年3月8日
      200
    • JS实现逐字出现效果代码

      本文主要和大家分享JS实现逐字出现效果代码,最近看到一个简单实用的逐字出现动画效果,自己简单写了一个,小技巧,可以值得保存。 先上效果图: 源码: nbsp;html>逐字出来的效果,哈哈哈哈哈哈哈哈哈   var index = 0…

      2025年3月8日
      200
    • js的offset是什么意思及使用详解

      offset的意思为“偏离、位移”,在js中属于一个系列属性,包括有“offsetHeight”、“offsetWidth”、“offsetLeft”、“offsetTop”、“offsetParent”;它们可以用于获取元素尺寸。 off…

      2025年3月8日
      200
    • js之圣杯模式讲解

      圣杯模式的存在是用来继承已有原型对象(A.prototype)中的成员(主要是公用方法),同时根据自己的需求修改原型对象(A.prototype)以定制符合我们要求的构造函数B,这个修改对已有的实例(a1,a2,…)不会产生影响。 普通继承…

      编程技术 2025年3月8日
      200
    • JS之立即执行函数讲解

      本文主要和大家分享js之立即执行函数讲解,所谓立即执行函数(immediately-invoked function expression),即在函数表达式之后加()就可以使函数自执行。注意:不能再函数声明后加括号()。 (function…

      编程技术 2025年3月8日
      200
    • js分页器详解

      本文主要和大家分享js分页器详解,我们先来看一下效果,希望能帮助到大家。 依赖于:bootstrap 和 jquery html代码:通过class=”pj_pager”引用,pj_total初始化总条数 登录后复制…

      2025年3月8日
      200
    • JS实现定时器

      本文主要和大家分享JS实现定时器,主要以代码的形式和大家分享,希望能帮助到大家。 问题描述:定时执行一个事件 主要是解决重新开始的问题 html     start    stop 登录后复制 script window.addEventL…

      编程技术 2025年3月8日
      200
    • jQuery自定义换肤及菜单

      本文主要和大家分享jQuery自定义换肤及菜单,主要以代码的形式体现我们先来看一下效果,希望能帮助到大家。 结合右击显示菜单来做的 效果图: 代码: [html] view plain copynbsp;html>          …

      2025年3月8日
      200

    发表回复

    登录后才能评论