jQuery - 加入元素

通过 jQuery,能够非常easy地加入新元素/内容。



加入新的 HTML 内容的四个 jQuery 方法:

  • append() - 在被选元素的结尾插入内容
  • prepend() - 在被选元素的开头插入内容
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容

jQuery append() 方法在被选元素的结尾插入内容。

  1. $("p").append("Some appended text.");

jQuery prepend() 方法在被选元素的开头插入内容。

  1. $("p").prepend("Some prepended text.");

jQuery after() 方法在被选元素之后插入内容。

  1. $("img").after("Some text after");

jQuery before() 方法在被选元素之前插入内容。

  1. $("img").before("Some text before");

这样能看出来前两个和后两个有什么差别么。。。反正我是要琢磨琢磨。。。上代码分析:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="jquery-1.11.1.js"></script>
  5. <script>
  6. $(document).ready(function(){
  7.  
  8. $("#btn1").click(function(){
  9. $("#test1").prepend("<b>Before</b>");
  10. });
  11. $("#btn2").click(function(){
  12. $("#test1").append("<i>After</i>");
  13. });
  14.  
  15. $("#btn3").click(function(){
  16. $("#test2").before("<b>Before</b>");
  17. });
  18. $("#btn4").click(function(){
  19. $("#test2").after("<i>After</i>");
  20. });
  21.  
  22. });
  23. </script>
  24. </head>
  25.  
  26. <body>
  27. <button id="btn1">在范特西前面加入文本</button>
  28. <button id="btn2">在范特西后面加入文本</button>
  29. <button id="btn3">在依旧范特西前面加入文本</button>
  30. <button id="btn4">在依旧范特西后面加入文本</button>
  31.  
  32. <p id="test1">范特西</p>
  33. <p id="test2">依旧范特西</p>
  34. </body>
  35. </html>

感觉贴图好麻烦。。。还是文字描写叙述吧。。。点完上述4个button后,效果:

Before范特西After

Before

依旧范特西

After



是不是发现了什么呀。。。继续,审查元素:



append() 和 prepend() 方法,在被选元素内(<p>...... ......</p>)插入内容;

after() 和 before() 方法,在被选元素外(......<p> </p>......)插入内容。





jQuery - 删除元素

通过 jQuery,能够非常easy地删除已有的 HTML 元素。



如需删除元素和内容,一般可使用下面两个 jQuery 方法:

  • remove() - 删除被选元素(及其子元素)
  • empty() - 从被选元素中删除子元素

jQuery remove() 方法删除被选元素及其子元素。

  1. $("#div1").remove();

jQuery empty() 方法删除被选元素的子元素。

  1. $("#div1").empty();

过滤被删除的元素

jQuery remove() 方法也能够接受一个參数,同意对被删元素进行过滤。

该參数能够是不论什么 jQuery 选择器的语法。

以下的样例删除 class="italic" 的全部 <p> 元素:

  1. $("p").remove(".italic");

这个地方我思考了一下,“删除 class="italic" 的全部 <p> 元素”和“删除 <p> 的全部 class="italic" 元素”是一样的。。。即:

  1. $(".italic").remove("p");

那么 empty() 方法也能够接受一个參数不?答案是否定的!





另外另一个问题,看到这样一段代码:

  1. var txt2=$("<p></p>").text("Text."); // 以 jQuery 创建新元素

为什么能够写成上述形式呢?不太清楚当中的规则。。。



(20140603追加对上述问题的理解)



jQuery 核心函数:jQuery(html,[ownerDocument])

依据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。同一时候设置一系列的属性、事件等。



你能够传递一个手写的 HTML 字符串,或者由某些模板引擎或插件创建的字符串,也能够是通过 AJAX 载入过来的字符串。可是在你创建 input 元素的时会有限制,能够參考第二个演示样例。当然这个字符串能够包括斜杠 (比方一个图像地址),还有反斜杠。(这些如今还不太好理解,能够直接看后面的。)

当你创建单个元素时,请使用闭合标签或 XHTML 格式。比如,创建一个 span ,能够用$("<span/>") 或
$("<span></span>") ,但不推荐 $("<span>")。在jQuery 中,这个语法等同于$(document.createElement("span")) 。



上述代码等同于:

  1. var txt2=$("<p>Text.</p>"); // 以 jQuery 创建新元素

使用变量和直接使用$("<></>") 是不一样的。最后放一段代码作为总结:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="jquery-1.11.1.js"></script>
  5. <script>
  6. $(document).ready(function(){
  7.  
  8. var txt1=$("<p>Text1</p>");
  9. var txt2=$("<p></p>").text("Text2");
  10.  
  11. $("#btn1").click(function(){
  12. $("p#text1").append(txt1);
  13. });
  14.  
  15. $("#btn1").click(function(){
  16. $("p#text2").append(txt2);
  17. });
  18.  
  19. $("#btn2").click(function(){
  20. $("p#text3").append($("<p>Text1</p>"));
  21. });
  22.  
  23. $("#btn2").click(function(){
  24. $("p#text4").append($("<p></p>").text("Text2"));
  25. });
  26.  
  27. });
  28. </script>
  29. </head>
  30.  
  31. <body>
  32. <p id=text1>This is a paragraph.</p>
  33. <p id=text2>This is another paragraph.</p>
  34. <button id="btn1">仅仅能追加一次文本</button>
  35.  
  36. <p id=text3>This is a paragraph.</p>
  37. <p id=text4>This is another paragraph.</p>
  38. <button id="btn2">每次都能追加文本</button>
  39. </body>
  40. </html>

眼下仅仅是先解决疑问,详细的之后再学习。

JavaScript(20)jQuery HTML 加入和删除元素的更多相关文章

  1. JavaScript、jQuery获取页面及个元素高度、宽度

    Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.client ...

  2. javascript在数组的循环中删除元素

    在开发JavaScript应用的过程中,经常会遇到在循环中移除指定元素的需求. 按照常规的思路,就是对数组进行一个for循环,然后在循环里面进行if判断,在判断中删除掉指定元素即可. 但是实际情况往往 ...

  3. JQuery 数组获取和删除元素

    <script> var target = []; target [0] = "aaa000"; target [1] = "bbb111"; ta ...

  4. javascript和jquery 获取触发事件的元素

    一个很简单的问题,却因为大意,经常忘了处理,导致程序运行出错. <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  5. Javascript及Jquery获取元素节点以及添加和删除操作

    用了javascript和jquery很久,把所有元素节点的操作总结了下,放在博客上作为记录. Javascript获取元素的主要方式有三种 1.document.getElementById('ma ...

  6. JQUERY添加、删除元素、eq()方法;

    一.jQuery - 添加元素 1.append() - 在被选元素内部的结尾插入指定内容 2.prepend() - 在被选元素内部的开头插入指定内容 3.after() - 在被选元素之后插入内容 ...

  7. jQuery添加删除元素

    $(document).ready(function () { $('#radioExtranet').on('click', function () { showProjectInformation ...

  8. Jquery中删除元素方法

    empty用来删除指定元素的子元素,remove用来删除元素,或者设定细化条件执行删除 语法: empty() remove(expr); empty用来删除指定元素的子元素,remove用来删除元素 ...

  9. jQuery 学习03——HTML:捕获、设置、添加元素、删除元素、CSS类、CSS()方法、尺寸

    jQuery - 获取内容text().html() 以及 val()和属性attr() jQuery 中非常重要的部分,就是操作 DOM 的能力. DOM = Document Object Mod ...

随机推荐

  1. Wiz开发 定时器的使用与处理

    这只是一些代码片段,由于Wiz开发的资料实在不多,而且内容都不够新. 这里的代码主要参考Tools.Timer这个插件,但是由于内部实现的很多变化,Tools.Timer这个插件基本上已经无法使用了. ...

  2. 静态Web开发 CSS

    二章 CSS 1节CSS介绍 CSS(Cascading Style Sheets) //cascade级联,串联CSS由两个部分组成:选择器,以及一条或多条声明selector{declaratio ...

  3. SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

  4. Colors

    .custom_a1, .custom_a2, .custom_a3, .custom_a4{ width:800px; height:100px; line-height:100px; color: ...

  5. 内省与JavaBean

    概述 JavaBean代表一类特殊的Java类,这种类主要用来存储和传递属性信息,JavaBean中的方法主要用于设置和获取这些私有属性,他们有一定的命名规则,我们可以把它们想象为一个侧重属性信息的类 ...

  6. Python PIL创建文字图片

    PIL库中包含了很多模块,恰当地利用这些模块可以做许多图像处理方面的工作. 下面是我用来生成字母或字符串测试图片而写的类及测试代码. 主要用到的模块: PIL.Image,PIL.ImageDraw, ...

  7. 2015北京网络赛B题 Mission Impossible 6

    借用大牛的一张图片:模拟 #include<cstdio> #include<cmath> #include<cstring> #include<algori ...

  8. Bzoj 4403: 序列统计 Lucas定理,组合数学,数论

    4403: 序列统计 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 328  Solved: 162[Submit][Status][Discuss] ...

  9. 7.OpenACC

    OpenACC: openacc 可以用于fortran, c 和 c++程序,可以运行在CPU或者GPU设备. openacc的代码就是在原有的C语言基础上进行修改,通过添加:compiler di ...

  10. 矩阵取数游戏 NOIP 2007

    2016-05-31 17:26:45 题目链接: NOIP 2007 矩阵取数游戏(Codevs) 题目大意: 给定一个矩阵,每次在每一行的行首或者行尾取一个数乘上2^次数,求取完最多获得的分数 解 ...