zoukankan      html  css  js  c++  java
  • JavaScript(20)jQuery HTML 加入和删除元素

    jQuery - 加元
    经 jQuery,可以非常easy增加了新的元素/内容。

    加入新的 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

    是不是发现了什么呀。

    。。

    继续,审查元素:

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




    jQuery - 删除元素
    通过 jQuery,能够非常easy地删除已有的 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 创建新元素
    为什么能够写成上述形式呢?不太清楚当中的规则。。



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

    jQuery 核心函数:jQuery(html,[ownerDocument])
    依据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。

    同一时候设置一系列的属性、事件等。

    你能够传递一个手写的 HTML 字符串,或者由某些模板引擎或插件创建的字符串。也能够是通过 AJAX 载入过来的字符串。

    可是在你创建 input 元素的时会有限制,能够參考第二个演示样例。当然这个字符串能够包括斜杠 (比方一个图像地址),还有反斜杠。(这些如今还不太好理解,能够直接看后面的。


    当你创建单个元素时。请使用闭合标签或 XHTML 格式。

    比如。创建一个 span ,能够用$("<span/>") 或 $("<span></span>") ,但不推荐 $("<span>")。在jQuery 中,这个语法等同于$(document.createElement("span")) 。

    上述代码等同于:

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

    使用变量和直接使用$("<></>") 是不一样的。

    最后放一段代码作为总结:

    <!DOCTYPE html>
    <html>
    <head>
    <script src="jquery-1.11.1.js"></script>
    <script>
    $(document).ready(function(){
    
    var txt1=$("<p>Text1</p>");
    var txt2=$("<p></p>").text("Text2");
    
      $("#btn1").click(function(){
        $("p#text1").append(txt1);
      });
    
      $("#btn1").click(function(){
        $("p#text2").append(txt2);
      });
    
      $("#btn2").click(function(){
        $("p#text3").append($("<p>Text1</p>"));
      });
    
      $("#btn2").click(function(){
        $("p#text4").append($("<p></p>").text("Text2"));
      });
    
    });
    </script>
    </head>
    
    <body>
    <p id=text1>This is a paragraph.</p>
    <p id=text2>This is another paragraph.</p>
    <button id="btn1">仅仅能追加一次文本</button>
    
    <p id=text3>This is a paragraph.</p>
    <p id=text4>This is another paragraph.</p>
    <button id="btn2">每次都能追加文本</button>
    </body>
    </html>

    现在,它只是解决问题。详细的再学习后,。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    线程池
    非XA式Spring分布式事务
    好的架构不是设计出来的,而是演进出来的
    缓存穿透
    【转】MySQL数据库主从同步管理
    setup 桌面化设置网卡
    gitlab web登入密码忘记以后可以用如下方式修改密码
    kvm与selinux
    linux下跳板机跟客户端之间无密码登陆
    LINUX下安装TeamViewer
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4801905.html
Copyright © 2011-2022 走看看