zoukankan      html  css  js  c++  java
  • jQuery之文档处理

    jQuery

    文档处理

    1)内部插入
    2)外部插入
    3)包裹
    4)替换
    5)删除
    6)复制
    

    1.内部插入

    append(content|fn)

    向每个匹配的元素内部追加内容。
    
    向所有段落中追加一些HTML标记。
    HTML 代码:
    <p>I would like to say: </p>
    jQuery 代码:
    $("p").append("<b>Hello</b>");
    结果:
    [ <p>I would like to say: <b>Hello</b></p> ]
    

    appendTo(content)

    把所有匹配的元素追加到另一个指定的元素元素集合中。
    
    新建段落追加div中并加上一个class
    HTML 代码:
    <div></div><div></div>
    jQuery 代码:
     	$("<p/>")
       	.appendTo("div")
       	.addClass("test")
       	.end()
       	.addClass("test2");
    结果:
    <div><p class="test test2"></p></div>
    <div><p class="test"></p></div>
    

    prepend(content)

    向每个匹配的元素内部前置内容
    
    向所有段落中前置一些HTML标记代码。
    HTML 代码:
    <p>I would like to say: </p>
    jQuery 代码:
    $("p").prepend("<b>Hello</b>");
    结果:
    [ <p><b>Hello</b>I would like to say: </p> ]
    
    将一个DOM元素前置入所有段落
    HTML 代码:
    <p>I would like to say: </p>
    <p>I would like to say: </p>
    <b class="foo">Hello</b>
    <b class="foo">Good Bye</b>
    jQuery 代码:
    $("p").prepend( $(".foo")[0] );
    结果:
    <p><b class="foo">Hello</b>I would like to say: </p>
    <p><b class="foo">Hello</b>I would like to say: </p>
    <b class="foo">Good Bye</b>
    
    向所有段落中前置一个jQuery对象(类似于一个DOM元素数组)。
    HTML 代码:
    <p>I would like to say: </p><b>Hello</b>
    jQuery 代码:
    $("p").prepend( $("b") );
    结果:
    <p><b>Hello</b>I would like to say: </p>
    

    prependTo(content)

    把所有匹配的元素前置到另一个、指定的元素元素集合中。
    
    把所有段落追加到ID值为foo的元素中。
    HTML 代码:
    <p>I would like to say: </p><div id="foo"></div>
    jQuery 代码:
    $("p").prependTo("#foo");
    结果:
    <div id="foo"><p>I would like to say: </p></div>
    

    2.外部插入

    after(content|fn)

    在每个匹配的元素之后插入内容。
    
    在所有段落之后插入一些HTML标记代码。
    HTML 代码:
    <p>I would like to say: </p>
    jQuery 代码:
    $("p").after("<b>Hello</b>");
    结果:
    <p>I would like to say: </p><b>Hello</b>
    
    在所有段落之后插入一个DOM元素。
    HTML 代码:
    <b id="foo">Hello</b><p>I would like to say: </p>
    jQuery 代码:
    $("p").after( $("#foo")[0] );
    结果:
    <p>I would like to say: </p><b id="foo">Hello</b>
    
    在所有段落中后插入一个jQuery对象(类似于一个DOM元素数组)。
    HTML 代码:
    <b>Hello</b><p>I would like to say: </p>
    jQuery 代码:
    $("p").after( $("b") );
    结果:
    <p>I would like to say: </p><b>Hello</b>
    

    before(content|fn)

    在每个匹配的元素之前插入内容。
    
    在所有段落之前插入一些HTML标记代码。
    HTML 代码:
    <p>I would like to say: </p>
    jQuery 代码:
    $("p").before("<b>Hello</b>");
    结果:
    [ <b>Hello</b><p>I would like to say: </p> ]
    
    在所有段落之前插入一个元素。
    HTML 代码:
    <p>I would like to say: </p><b id="foo">Hello</b>
    jQuery 代码:
    $("p").before( $("#foo")[0] );
    结果:
    <b id="foo">Hello</b><p>I would like to say: </p>
    
    在所有段落中前插入一个jQuery对象(类似于一个DOM元素数组)。
    HTML 代码:
    <p>I would like to say: </p><b>Hello</b>
    jQuery 代码:
    $("p").before( $("b") );
    结果:
    <b>Hello</b><p>I would like to say: </p>
    

    insertAfter(content)

    把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
    
    把所有段落插入到一个元素之后。与 $("#foo").after("p")相同
    HTML 代码:
    <p>I would like to say: </p><div id="foo">Hello</div>
    jQuery 代码:
    $("p").insertAfter("#foo");
    结果:
    <div id="foo">Hello</div><p>I would like to say: </p>
    

    insertBefore(content)

    把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
    
    把所有段落插入到一个元素之前。与 $("#foo").before("p")相同。
    HTML 代码:
    <div id="foo">Hello</div><p>I would like to say: </p>
    jQuery 代码:
    $("p").insertBefore("#foo");
    结果:
    <p>I would like to say: </p><div id="foo">Hello</div>
    

    包裹

    wrap(html|element|fn)

    把所有匹配的元素用其他元素的结构化标记包裹起来。
    
    用原先div的内容作为新div的class,并将每一个元素包裹起来
    HTML 代码:
    <div class="container">
      <div class="inner">Hello</div>
      <div class="inner">Goodbye</div>
    </div>
    jQuery 代码:
    $('.inner').wrap(function() {
      return '<div class="' + $(this).text() + '" />';
    });
    结果:
    <div class="container">
      <div class="Hello">
        <div class="inner">Hello</div>
      </div>
      <div class="Goodbye">
        <div class="inner">Goodbye</div>
      </div>
    </div>
    

    unwrap()

    这个方法将移出元素的父元素。这能快速取消 .wrap()方法的效果。匹配的元素(以及他们的同辈元素)会在DOM结构上替换他们的父元素。
    
    用ID是"content"的div将每一个段落包裹起来
    HTML 代码:
    <div>
        <p>Hello</p>
        <p>cruel</p>
        <p>World</p>
    </div>
    jQuery 代码:
     $("p").unwrap()
    结果:
        <p>Hello</p>
        <p>cruel</p>
        <p>World</p>
    

    wrapAll(html|ele)

    将所有匹配的元素用单个元素包裹起来
    
    html描述:
    用一个生成的div将所有段落包裹起来
    jQuery 代码:
    $("p").wrapAll("<div></div>");
    
    elem描述:
    用一个生成的div将所有段落包裹起来
    jQuery 代码:
    $("p").wrapAll(document.createElement("div"));
    

    wrapInner(htm|element|fnl)

    将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来
    
    用原先div的内容作为新div的class,并将每一个元素包裹起来
    HTML 代码:
    <div class="container">
      <div class="inner">Hello</div>
      <div class="inner">Goodbye</div>
    </div>
    jQuery 代码:
    $('.inner').wrapInner(function() {
      return '<div class="' + $(this).text() + '" />';
    });
    结果:
    <div class="container">
      <div class="inner">
        <div class="Hello">Hello</div>
      </div>
      <div class="inner">
        <div class="Goodbye">Goodbye</div>
      </div>
    </div>
    

    替换

    replaceWith(content|fn)

    将所有匹配的元素替换成指定的HTML或DOM元素。
    
    把所有的段落标记替换成加粗的标记。
    HTML 代码:
    <p>Hello</p><p>cruel</p><p>World</p>
    jQuery 代码:
    $("p").replaceWith("<b>Paragraph. </b>");
    结果:
    <b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>
    
    用第一段替换第三段,你可以发现他是移动到目标位置来替换,而不是复制一份来替换。
    HTML 代码:
    <div class="container">
      <div class="inner first">Hello</div>
      <div class="inner second">And</div>
      <div class="inner third">Goodbye</div>
    </div>
    jQuery 代码:
    $('.third').replaceWith($('.first'));
    结果:
    <div class="container">
      <div class="inner second">And</div>
      <div class="inner first">Hello</div>
    </div>
    

    replaceAll(selector)

    用匹配的元素替换掉所有 selector匹配到的元素。
    
    把所有的段落标记替换成加粗标记
    HTML 代码:
    <p>Hello</p><p>cruel</p><p>World</p>
    jQuery 代码:
    $("<b>Paragraph. </b>").replaceAll("p");
    结果:
    <b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>
    

    删除

    empty()

    删除匹配的元素集合中所有的子节点。
    
    把所有段落的子元素(包括文本节点)删除
    HTML 代码:
    <p>Hello, <span>Person</span> <a href="#">and person</a></p>
    jQuery 代码:
    $("p").empty();
    结果:
    <p></p>
    

    :has(selector)

    匹配含有选择器所匹配的元素的元素
    
    给所有包含 p 元素的 div 元素添加一个 text 类
    HTML 代码:
    <div><p>Hello</p></div>
    <div>Hello again!</div>
    jQuery 代码:
    $("div:has(p)").addClass("test");
    结果:
    [ <div class="test"><p>Hello</p></div> ]
    

    detach([expr])

    从DOM中删除所有匹配的元素。
    
    从DOM中把所有段落删除
    HTML 代码:
    <p>Hello</p> how are <p>you?</p>
    jQuery 代码:
    $("p").detach();
    结果:
    how are
    
    从DOM中把带有hello类的段落删除
    HTML 代码:
    <p class="hello">Hello</p> how are <p>you?</p>
    jQuery 代码:
    $("p").detach(".hello");
    结果:
    how are <p>you?</p>
    

    复制

    clone([Even[,deepEven]])

    克隆匹配的DOM元素并且选中这些克隆的副本。
    
    克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。
    HTML 代码:
    <b>Hello</b><p>, how are you?</p>
    jQuery 代码:
    $("b").clone().prependTo("p");
    结果:
    <b>Hello</b><p><b>Hello</b>, how are you?</p>
    
    创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
    HTML 代码:
    <button>Clone Me!</button>
    jQuery 代码:
    $("button").click(function(){
      $(this).clone(true).insertAfter(this);
    });
  • 相关阅读:
    svn中trunk、branches、tags
    支付宝支付对接过程
    分享插件
    ES6学习笔记
    VS code
    Angular45
    React笔记
    查询Table name, Column name, 拼接执行sql文本, 游标, 存储过程, 临时表
    通过脚本把远程服务器上的表和数据拷贝到本地数据库
    mongo客户端mongo VUE增删改查
  • 原文地址:https://www.cnblogs.com/WWWrs/p/6858168.html
Copyright © 2011-2022 走看看