《jquery权威指南》学习笔记--第二章

印象笔记原稿
该笔记是从我的印象笔记里转出来的,格式有点出入,因此,如果有印象笔记账号的可以通过该链接去看。
——–对元素属性(attribute)的操作——-
1、获取属性值
attr(name)
name为属性的名称,attr(name)用来获取属性name的属性值
Ag:

    <input type="text" title="ss" value="" />
    <script>
     var a = $('input').attr('title');            //a = "ss"
    </script>

2、设置元素的属性
attr({key0:value0,key1:value1})
key为属性名,value为对应的属性要设置的值,可以同时设置多个属性

<img src="../image/img1.jpg" width='30%' />'
<script>  $("img").attr({'title':"welcome",'src':'../image/img2.jpg'});   //修改的图片地址,并且新添加了一个title属性
</script>

删除元素的属性
removeAttr(name)
name为属性的名称
Ag:

<script>
    $("img").removeAttr("src");
</script>

———–元素内容的操作———-
html()——–获取html内容
html(val)—–设置html内容
text()——–获取text内容
text(val)—–设置text内容
Ag:

<div id="d1">nice to meet you</div>
    <div id="d2"><p>p to div1</p></div>
<script>
    var a = $('#d2').html();                     //a = "<p>p to div1</p>"
    var b = $('#d1').html('<p>div to p</p>');    //b = <div id="d1"><p>div to p</p></div>
    var d = $("#d2").text();                     //d = "p to div1"
</script>

——-获取和设置元素的值(该方法常用于表单中获取或设置元素的值)———
val()—-获取元素的值
val(val)—-将参数val的值赋给某元素
通过val()方法还可以获取select标记中的多个选项值
Ag:

    <!-- val().join(",") -->
    <select multiple="multiple" style="height: 96px;width: 85px">
               <option value="1">item 1</option>
                <option value="2">item 2</option>
                <option value="3">item 3</option>
                <option value="4">item 4</option>
                <option value="5">item 5</option>
                <option value="6">item 6</option>
           </select>
            <script>
                $("select").change(function(){
                     var s = $("select").val().join(",");                
                });       
           </script>

——————元素样式操作————–
直接设置样式
css(name,value)
增加CSS类别
addClass(class0 class1 …),类别之间用空格分隔
类别切换
toggleClass(class)
删除类别
removeClass([class]),class属性是可选项,如果不选,则删除所选元素的所有类别

—————创建节点元素—————
$(html)用于创建动态元素,其中html为HTML语句。。。在页面中动态创建元素需要执行节点的插入或追加操作
注意:函数$(html)只完成DOM元素创建,加入到页面还需要通过元素节点的插入或追加操作;同时,在创建DOM元素时,要注意字符标记是否完全闭合,否则达不到预期效果
内部插入节点

append(content)----------向所选择的元素内部插入内容
append(function(index,html))----向所选择的元素内部插入function函数所返回的内容
appendTo(content)-----------把所选择的元素追加到另一个指定的元素集合中
prepend(content)---------向每个所选择的元素内部前置内容
prepend(function(index,html))-------向所选择的元素内部前置function函数所返回的内容
prependTo(content)------将所选择的元素前置到另一个指定的元素集合中
      <script>
        //把appendTo方法前部分的内容插入其后部分的内容中
            $("span").appendTo($('div'));  
        //把prependTo方法后部分的内容插入其前部分的内容中
           $("span").prependTo($("div"));
       </script>

外部插入节点

after(content)----------向所选择的元素外部后面插入内容
after(function)----向所选择的元素内部插入function函数所返回的内容
before(content)----------向所选择的元素外部后面插入内容
before(function)----向所选择的元素内部插入function函数所返回的内容
insertAfter(content)------将所选择的元素插入另一个指定的元素外部后面
insertBefore(content)-----将所选择的元素插入另一个指定的元素外部前面

—————–复制元素节点———–
clone()———该方法仅仅只是复制节点,复制的节点不具有任何元素行为
clone(true)——–当设置参数true时,还将复制元素所有的事

<img src="../img/banner0.jpg" width="40%"/>
<span></span>
<script>
     $(function(){
          $("img").click(function(){
            //因为在clone里传入了true参数,因此点击clone后的图片点击是也具有click事件
            //如果使用clone()方法,那么只有单击原图片才可以复制新的图片元素,新复制的图片
            //元素不具有任何功能
                $(this).clone(true).appendTo("span");
          });
     });
</script>

————替换节点—————–

replaceWith(content)
replaceAll(selector)

注意:replaceWith()与replaceAll()方法都可以实现元素节点的替换,二者最大的区别在于替换字符的顺序,
前者使用括号中的字符替换所选择的元素,后来是用字符串替换括号中所选择的元素。同时,一旦完成 替换,被替换元素中的全部事件都将消失

<body>
           <p>姓名:<span id="span1"></span></p>
           <p>邮箱:<span id="span2"></span></p>
           <span></span>
           <script>
                $(function(){
                     $('#span1').replaceWith('<span>谭青青</span>');
                     $('<span>sdhjdwkun</span>').replaceAll("#span2");
                });
           </script>
     </body> 

—————包裹节点—————

wrap(html)------------把所有选择的元素用其他字符串代码(html)包裹起来
wrap(elem)---------把所有选择的元素用其他DOM元素包装起来
wrap(fn)------------把所有选择的元素用function函数返回的代码包裹起来
unwrap()------------移除所选元素的父元素或包裹标记
wrapAll(html)--------把所有选择的元素用单个元素包裹起来
wrapAll(elem)--------把所有选择的元素用单个DOM元素包裹起来
wrapInner(html)------把所有选择的元素的子内容(包括文本节点)用字符串代码包裹起来
wrapInner(elem)------把所有选择的元素的子内容(包括文本节点)用DOM元素包裹起来
wrapInner(fn)---------把所有选择的元素的子内容(包括文本节点)用function函数返回的代码包裹起来

注意:wrap(html)与wrapInner(html)方法较为常用,前者包裹外部元素,后者包裹元素内部的文本字符

<body>
           <p>最喜欢的运动:<span id="span1">羽毛球</span></p>
           <p>最喜欢的图书类型:<span id="span2">网络、技术</span></p>
           <span></span>
           <script>
                $(function(){
                     $('p').wrap("<b></b>");
                     $('span').wrapInner("<i></i>");
                });
           </script>
     </body>

——————遍历元素—————-
each(callback)

    注意:参数callback是一个function函数,该函数还可以接受一个形参index,此形参为遍历元素的序号(从0开始);如果需要访问元素中的属性,可以借助形参index,配合this关键字来实现元素属性的设置和获取。 
<body>
           <div class="aa" id="d1">d1</div>
           <div class="aa" id="d2">d2</div>
           <div class="aa" id="d3">d3</div>
           <div class="aa" id="d4">d4</div>
           <div class="aa" id="d5">d5</div>
           <input type="text" id="dd" />
           <script>
               $(function(){
                //获取点击事件的id
                     $(".aa").each(function(index){
                           this.onclick = function(){
                                var _id = this.id;
                                $('input').val('第'+index+'个div,id为:'+_id);                              
                           };                         
                     });  
                });
           </script>
     </body>

—————删除元素—————–
remove([expr]),其中参数expr为可选项,如果接受参数,则该参数为筛选元素的jquery表达式,通过该表述式获取指定的元素,并进行删除
empty(),为清空所选择的页面元素或所有的后代元素

<body>
    <div class="aa" id="d1">d1</div>
    <div class="aa" id="d2">d2</div>
    <div class="aa" id="d3">d3</div>
    <div class="aa" id="d4">d4</div>
    <div class="aa" id="d5">d5</div>
    <input type="text" id="dd" />
    <script>
         $(function(){
         //获取点击事件的id
              $(".aa").each(function(index){
                    this.onclick = function(){
                         var _id = this.id;
                         var c = $('input')
                         c.val('第'+index+'个div,id为:'+_id);                              
                    };                         
              });  
              $("#d5").remove();   //删除了id=d5的div
              $("#d3").empty();    //删除了id=d3的div
              $(".aa").remove('div[id=d1]');  //删除了id=d1的div,remove中采用参数描述的方式
         });
    </script>
</body>    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值