jQuery实现对网页节点的增删改查功能示例


Posted in jQuery onSeptember 18, 2017

本文实例讲述了jQuery实现对网页节点的增删改查功能。分享给大家供大家参考,具体如下:

前面介绍过《JavaScript针对网页节点的增删改查用法》,其实JavaScript对DOM的操作已经总结了很久的,而对于jQuery对网页节点的操作,虽然一直在用,但一直没有好好总结一下,实在是不应该。

下面举同样的例子来说明这个问题:

jQuery实现对网页节点的增删改查功能示例

如上图,提供3个按钮,1个下拉列表,1个输入框,提供增删改查的操作。

网页中最多10个节点,最少0个节点,多了不让加,少了不让减。

首先是本网页的基本布局:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>jQuery对网页节点的增删改查</title>
    <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
  </head>
  <body>
    <button>增加节点</button>
    选择节点
    <select id="nodeList"></select>
    <button>删除节点</button>
    <input type="text" />
    <button>修改节点</button>
    <div></div>
  </body>
</html>

首先引入jQuery资源,之后,除了下拉列表以外其余节点没有ID,以展示两个Jquery获取节点的方式,一种通过id直接获取,一种通过获取子节点的方式的获取。

这里没什么特别的,关键是下面的jQuery编程:

<script type="text/javascript">
  var i = 1;//定义一个节点的id
  $("body>div").css("border","1px solid #cccccc");//先把body下面的所有div的上style="border:1px solid #cccccc"属性。此乃jQuery对节点的css操作。
  $("body>button:eq(0)").click(function(){//body下面的第0个按钮的onclick事件
    if (i < 11) {//如果节点数少于在1-10之间
      $("body>div").append("<p id='p" + i + "'>text" + i + "</p>");//则在body下面的所有div,也就是唯一一个div中添加上id=p1,p2,p3...的节点,且文本为text1,2,3...
      $("#nodeList").append("<option id='option" + i + "' value='" + i + "'>text" + i + "</p>");//同时在下拉列表中加上id=option1,option2....,value=1,2,3...的选项,一会儿,供下面的修改、删除使用
      i++;//节点数加1
      $("body>div").css("border","1px solid #cccccc");//如果符合要求,使边框变灰
    }
    else {//如果不符合要求,弹出警告,使边框变红
      alert("最多10个节点!");
      $("body>div").css("border","1px solid #ff0000");
    }
  });
  $("body>button:eq(1)").click(function(){//body下面的第1个按钮的onclick事件
    if (i > 1) {
      var removeId = $("#nodeList").val();//获取要下拉列表中的值
      $("#option" + removeId).remove();//删除相应的选项、p节点
      $("#p" + removeId).remove();
      i--;//节点数减1
      $("body>div").css("border","1px solid #cccccc");
    }
    else{
      alert("最少0个节点!");
      $("body>div").css("border","1px solid #ff0000");
    }
  });
  $("body>button:eq(2)").click(function(){//body下面的第2个按钮的onclick事件
    if (i > 1) {
      var updateText = $("body>input[type='text']").val();//获取文本框的输入内容
      var updateId = $("#nodeList").val();//获取下拉拉列表中的值
      var updateFlag = true;//用来验证是否有同名节点的flag
      $("body>div>p").each(function(){//遍历div下的所有p节点
        if(updateText==$(this).html()){//如果输入的值等于p节点的值
          alert("已有同名节点,不得修改!");//则弹出警告
          $("body>div").css("border", "1px solid #ff0000");
          updateFlag = false;//收起flag
        }
      });
      if (updateFlag) {
        if (updateText != "") {
          $("#option" + updateId).html(updateText);//修改下拉列表中的值
          $("#p" + updateId).html(updateText);//修改相应p节点的值
          $("body>input[type='text']").val("");//清空输入框
          $("body>div").css("border", "1px solid #cccccc");
        }
        else {
          alert("修改内容不得为空!");
          $("body>div").css("border", "1px solid #ff0000");
        }
      }
    }
    else{
      alert("没有节点,修改毛线!");
      $("body>div").css("border", "1px solid #ff0000");
    }
  });
</script>

可以看到,这里jQuery设置css是先指明要修改的css属性,再写上要修改的内容,Javascript修改css则是对节点的style修改。

jQuery对节点的遍历,用each方法则可以。Javascript则要对要遍历的节点,赋予name,然后利用document.getElementbyName将所有name拿下,则进行遍历。

jQuery删除一个节点,比Javascript简便多了,一个remove()搞掂一切,Javascript则要找自己的父节点测能删除自己。

jQuery找子节点,可以直接用>符号来查看,Javascript则要通过xx.getElementsByTagName去查找。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery中extend函数简单用法示例
Oct 11 jQuery
基于jquery.page.js实现分页效果
Jan 01 jQuery
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery编写QQ简易聊天框
Aug 27 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 #jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 #jQuery
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 #jQuery
jQuery plugin animsition使用小结
Sep 14 #jQuery
jquery 键盘事件的使用方法详解
Sep 13 #jQuery
React中jquery引用的实现方法
Sep 12 #jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 #jQuery
You might like
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
JavaScript的Function详细
2006/11/14 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
javascript 写类方式之二
2009/07/05 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
浅谈python中set使用
2016/06/30 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
常务副总经理任命书
2014/06/05 职场文书
参赛口号
2014/06/16 职场文书
社区两委对照检查材料
2014/08/23 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
MySQL三种方式实现递归查询
2022/04/18 MySQL
LeetCode189轮转数组python示例
2022/08/05 Python