JavaScript(20)jQuery HTML 增添和删除元素

JavaScript(20)jQuery HTML 添加和删除元素
jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。

添加新的 HTML 内容的四个 jQuery 方法:
  • append() - 在被选元素的结尾插入内容
  • prepend() - 在被选元素的开头插入内容
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容

jQuery append() 方法在被选元素的结尾插入内容。
$("p").append("Some appended text.");

jQuery prepend() 方法在被选元素的开头插入内容。
$("p").prepend("Some prepended text.");

jQuery after() 方法在被选元素之后插入内容。
$("img").after("Some text after");

jQuery before() 方法在被选元素之前插入内容。
$("img").before("Some text before");

这样能看出来前两个和后两个有什么区别么。。。反正我是要琢磨琢磨。。。上代码分析:
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.11.1.js"></script>
<script>
$(document).ready(function(){

  $("#btn1").click(function(){
    $("#test1").prepend("<b>Before</b>");
  });
  $("#btn2").click(function(){
    $("#test1").append("<i>After</i>");
  });

  $("#btn3").click(function(){
    $("#test2").before("<b>Before</b>");
  });
  $("#btn4").click(function(){
    $("#test2").after("<i>After</i>");
  });

});
</script>
</head>

<body>
<button id="btn1">在范特西前面添加文本</button>
<button id="btn2">在范特西后面添加文本</button>
<button id="btn3">在依然范特西前面添加文本</button>
<button id="btn4">在依然范特西后面添加文本</button>

<p id="test1">范特西</p>
<p id="test2">依然范特西</p>
</body>
</html>
感觉贴图好麻烦。。。还是文字描述吧。。。点完上述4个button后,效果:

Before范特西After

Before

依然范特西

After

是不是发现了什么呀。。。继续,审查元素:
JavaScript(20)jQuery HTML 增添和删除元素
append() 和 prepend() 方法,在被选元素内(<p>...... ......</p>)插入内容;
after() 和 before() 方法,在被选元素外(......<p> </p>......)插入内容。



jQuery - 删除元素
通过 jQuery,可以很容易地删除已有的 HTML 元素。

如需删除元素和内容,一般可使用以下两个 jQuery 方法:
  • remove() - 删除被选元素(及其子元素)
  • empty() - 从被选元素中删除子元素

jQuery remove() 方法删除被选元素及其子元素。
$("#div1").remove();

jQuery empty() 方法删除被选元素的子元素。
$("#div1").empty();

过滤被删除的元素
jQuery remove() 方法也可以接受一个参数,允许对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。
下面的例子删除 class="italic" 的所有 <p> 元素:
$("p").remove(".italic");
这个地方我思考了一下,“删除 class="italic" 的所有 <p> 元素”和“删除 <p> 的所有 class="italic" 元素”是一样的。。。即:
$(".italic").remove("p");
那么 empty() 方法也可以接受一个参数不?答案是否定的!


另外还有一个问题,看到这样一段代码:
var txt2=$("<p></p>").text("Text.");   // 以 jQuery 创建新元素
为什么可以写成上述形式呢?不太清楚其中的规则。。。随着以后的学习,应该会有明白的那天吧,哈哈。。。先放在这里。。。。。。

1楼studyrzy昨天 17:39
jquery 文档处理方法