欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery實現(xiàn)對網(wǎng)頁節(jié)點的增刪改查功能示例

 更新時間:2017年09月18日 10:39:12   作者:yongh701  
這篇文章主要介紹了jQuery實現(xiàn)對網(wǎng)頁節(jié)點的增刪改查功能,涉及jQuery針對網(wǎng)頁DOM節(jié)點的獲取、屬性修改等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了jQuery實現(xiàn)對網(wǎng)頁節(jié)點的增刪改查功能。分享給大家供大家參考,具體如下:

前面介紹過《JavaScript針對網(wǎng)頁節(jié)點的增刪改查用法》,其實JavaScript對DOM的操作已經(jīng)總結(jié)了很久的,而對于jQuery對網(wǎng)頁節(jié)點的操作,雖然一直在用,但一直沒有好好總結(jié)一下,實在是不應(yīng)該。

下面舉同樣的例子來說明這個問題:

如上圖,提供3個按鈕,1個下拉列表,1個輸入框,提供增刪改查的操作。

網(wǎng)頁中最多10個節(jié)點,最少0個節(jié)點,多了不讓加,少了不讓減。

首先是本網(wǎng)頁的基本布局:

<!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對網(wǎng)頁節(jié)點的增刪改查</title>
    <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
  </head>
  <body>
    <button>增加節(jié)點</button>
    選擇節(jié)點
    <select id="nodeList"></select>
    <button>刪除節(jié)點</button>
    <input type="text" />
    <button>修改節(jié)點</button>
    <div></div>
  </body>
</html>

首先引入jQuery資源,之后,除了下拉列表以外其余節(jié)點沒有ID,以展示兩個Jquery獲取節(jié)點的方式,一種通過id直接獲取,一種通過獲取子節(jié)點的方式的獲取。

這里沒什么特別的,關(guān)鍵是下面的jQuery編程:

<script type="text/javascript">
  var i = 1;//定義一個節(jié)點的id
  $("body>div").css("border","1px solid #cccccc");//先把body下面的所有div的上style="border:1px solid #cccccc"屬性。此乃jQuery對節(jié)點的css操作。
  $("body>button:eq(0)").click(function(){//body下面的第0個按鈕的onclick事件
    if (i < 11) {//如果節(jié)點數(shù)少于在1-10之間
      $("body>div").append("<p id='p" + i + "'>text" + i + "</p>");//則在body下面的所有div,也就是唯一一個div中添加上id=p1,p2,p3...的節(jié)點,且文本為text1,2,3...
      $("#nodeList").append("<option id='option" + i + "' value='" + i + "'>text" + i + "</p>");//同時在下拉列表中加上id=option1,option2....,value=1,2,3...的選項,一會兒,供下面的修改、刪除使用
      i++;//節(jié)點數(shù)加1
      $("body>div").css("border","1px solid #cccccc");//如果符合要求,使邊框變灰
    }
    else {//如果不符合要求,彈出警告,使邊框變紅
      alert("最多10個節(jié)點!");
      $("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();//刪除相應(yīng)的選項、p節(jié)點
      $("#p" + removeId).remove();
      i--;//節(jié)點數(shù)減1
      $("body>div").css("border","1px solid #cccccc");
    }
    else{
      alert("最少0個節(jié)點!");
      $("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();//獲取文本框的輸入內(nèi)容
      var updateId = $("#nodeList").val();//獲取下拉拉列表中的值
      var updateFlag = true;//用來驗證是否有同名節(jié)點的flag
      $("body>div>p").each(function(){//遍歷div下的所有p節(jié)點
        if(updateText==$(this).html()){//如果輸入的值等于p節(jié)點的值
          alert("已有同名節(jié)點,不得修改!");//則彈出警告
          $("body>div").css("border", "1px solid #ff0000");
          updateFlag = false;//收起flag
        }
      });
      if (updateFlag) {
        if (updateText != "") {
          $("#option" + updateId).html(updateText);//修改下拉列表中的值
          $("#p" + updateId).html(updateText);//修改相應(yīng)p節(jié)點的值
          $("body>input[type='text']").val("");//清空輸入框
          $("body>div").css("border", "1px solid #cccccc");
        }
        else {
          alert("修改內(nèi)容不得為空!");
          $("body>div").css("border", "1px solid #ff0000");
        }
      }
    }
    else{
      alert("沒有節(jié)點,修改毛線!");
      $("body>div").css("border", "1px solid #ff0000");
    }
  });
</script>

可以看到,這里jQuery設(shè)置css是先指明要修改的css屬性,再寫上要修改的內(nèi)容,Javascript修改css則是對節(jié)點的style修改。

jQuery對節(jié)點的遍歷,用each方法則可以。Javascript則要對要遍歷的節(jié)點,賦予name,然后利用document.getElementbyName將所有name拿下,則進(jìn)行遍歷。

jQuery刪除一個節(jié)點,比Javascript簡便多了,一個remove()搞掂一切,Javascript則要找自己的父節(jié)點測能刪除自己。

jQuery找子節(jié)點,可以直接用>符號來查看,Javascript則要通過xx.getElementsByTagName去查找。

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery操作DOM節(jié)點方法總結(jié)》、《jQuery頁面元素操作技巧匯總》、《jQuery常用插件及用法總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)

希望本文所述對大家jQuery程序設(shè)計有所幫助。

相關(guān)文章

  • jquery indexOf使用方法

    jquery indexOf使用方法

    當(dāng)無法確定在某個字符串中是否確實存在一個字符的時候,就可調(diào)用 indexOf() 和 lastIndexOf() 方法
    2013-08-08
  • jQuery Ajax 加載數(shù)據(jù)時異步顯示加載動畫

    jQuery Ajax 加載數(shù)據(jù)時異步顯示加載動畫

    這篇文章主要介紹了jQuery Ajax 加載數(shù)據(jù)時異步顯示加載動畫的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • jquery append()方法與html()方法的區(qū)別及使用介紹

    jquery append()方法與html()方法的區(qū)別及使用介紹

    append()方法在被選元素的結(jié)尾插入指定內(nèi)容,html()方法返回或設(shè)置被選元素的內(nèi)容,下面為大家介紹下兩者的區(qū)別及使用
    2014-08-08
  • jquery 入門教程 [翻譯] 推薦

    jquery 入門教程 [翻譯] 推薦

    此文以實例為基礎(chǔ)一步步說明了jQuery的工作方式。現(xiàn)以中文翻譯(添加我的補(bǔ)充說明)如下。如有相關(guān)意見或建議請 EMAIL 告知?;蛘咴?BLOG中留言。
    2009-08-08
  • jquery獲取div距離窗口和父級dv的距離示例

    jquery獲取div距離窗口和父級dv的距離示例

    jquery中jquery.offset().top/left用于獲取div距離窗口的距離而jquery.position().top/left用于獲取距離父級div的距離,下面有個不錯的示例,感興趣的朋友可以參考下
    2013-10-10
  • jquery使用filter()控制子元素顯示隱藏

    jquery使用filter()控制子元素顯示隱藏

    一般元素下的多個指定子元素顯示隱藏效果,使用css中的選擇器:nth-child()、:nth-of-type(),但如果想使用JavaScript動態(tài)控制,就需要用到j(luò)query的filter()方法
    2023-08-08
  • 文本域中換行符的替換示例

    文本域中換行符的替換示例

    這篇文章主要介紹了文本域中換行符的替換,需要的朋友可以參考下
    2014-03-03
  • 深入理解jQuery之防止冒泡事件

    深入理解jQuery之防止冒泡事件

    下面小編就為大家?guī)硪黄钊肜斫鈐Query之防止冒泡事件。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • JavaScript的jQuery庫插件的簡要開發(fā)指南

    JavaScript的jQuery庫插件的簡要開發(fā)指南

    這篇文章主要介紹了JavaScript的jQuery庫插件的簡要開發(fā)指南,分為基于選擇器的插件和不基于選擇器的插件兩種情況,需要的朋友可以參考下
    2015-08-08
  • jQuery實現(xiàn)簡單的DIV拖動效果

    jQuery實現(xiàn)簡單的DIV拖動效果

    這篇文章主要介紹了jQuery實現(xiàn)簡單的DIV拖動效果,涉及jQuery針對鼠標(biāo)事件的響應(yīng)及頁面元素的動態(tài)操作技巧,需要的朋友可以參考下
    2016-02-02

最新評論