zoukankan      html  css  js  c++  java
  • Jquery遍历

    1、遍历选中的标签
      
    $("input[name='chkAgent']:[checked]").each(function () {
       alert($(this).attr("value"));
     })

    $("#USER_LIST  tr td input:checked").each(function () {
                        alert(this.value);
    job = $(this).parent().parent().children("td:eq(2)").text(); });
    
    

    这两段代码的不同点:

     在input[name='chkAgent']后面增加了一个[checked],表示已选中的元素。 

     而第二段中的this前面,并没有$。表示,第一段有$,表示这个时候的this对象是一个jQuery对象,所有后面使用了attr("value")(这个是Jquery中,获取元素值的写法)。而第二段中直接使用了this.value,这是JavaScript中的写法。

    var p={name:'张三',age:'25',email:'zhangsan@163.com'};
    
    $.each(p,function(k,v){
        alert(k+'   ,    '+v);
      if(k=='张三'){
        return false;//跳出循环,这里不能使用break来跳出循环。
      } });

     jquery还有一个$.map方法,这个方法可以返回一个数组(可以是做过修改后满足要求的数组)。

    2、获取鼠标点选行中,其他单元格内的内容。

      

    var a = $(this).parent().parent().find("#SOP").text();

    这种写法,比较简单,直接将要获取的那个td表格设一个ID或者Class,通过Jquery中的parent方法,先向上遍历,获取到爷爷级的元素(tr),再使用jQuery中的find方法获取到想要的内容。

    有关Jquery遍历的更多方法:

    children():仅儿子辈
        <div class="div">
        <ul class="son">
            <li class="grandson">1</li>
        </ul>
    </div>
    代码如果是$("div").children(),那么意味着只能找到ul,因为div与ul是父子关系,li与div是祖辈关系,因此无法找到。
    
    find():find是后代关系(包含父子关系)
    <div class="div">
        <ul class="son">
            <li class="grandson">1</li>
        </ul>
    </div>
    $("div").find("li"),此时,li与div是祖辈关系,通过find方法就可以快速的查找到了。
    

    .find()方法要注意的知识点:

    • find是遍历当前元素集合中每个元素的后代。只要符合,不管是儿子辈,孙子辈都可以。
    • 与其他的树遍历方法不同,选择器表达式对于 .find() 是必需的参数。如果我们需要实现对所有后代元素的取回,可以传递通配选择器 '*'。
    • find只在后代中遍历,不包括自己。
    • 选择器 context 是由 .find() 方法实现的;因此,$('.item-ii').find('li') 等价于 $('li', '.item-ii')(找到类名为item-ii的标签下的li标签)。
    parent():只会向上查找一级  parents()返回祖辈元素

    closest()方法接受一个匹配元素的选择器字符串(使用频率较高的而一个方法)

    从元素本身开始,在DOM 树上逐级向上级元素匹配,并返回最先匹配的祖先元素

    closest和parent区别    
    1. 起始位置不同:.closest开始于当前元素 .parents开始于父元素
    2. 遍历的目标不同:.closest要找到指定的目标,.parents遍历到文档根元素,closest向上查找,直到找到一个匹配的就停止查找,parents一直查找到根元素,并将匹配的元素加入集合
    3. 结果不同:.closest返回的是包含零个或一个元素的jquery对象,parents返回的是包含零个或一个或多个元素的jquery对象
    each():
    each是一个for循环的包装迭代器
    each通过回调的方式处理,并且会有2个固定的实参,索引与元素
    each回调方法中的this指向当前迭代的dom元素

     

      前5个用到的可能性稍微大一点
    为了提高选择器的性能,JQquery提供了常用的这5个过滤器相对应的方法
     
  • 相关阅读:
    【C#4.0图解教程】笔记(第19章~第25章)
    【C#4.0图解教程】笔记(第9章~第18章)
    【C#4.0图解教程】笔记(第1章~第8章)
    平衡二叉树(AVL Tree)
    整数中1出现的次数(从1到n整数中1出现的次数)
    java实现回溯算法
    输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
    怎么用Markdown在github上写书,并用pages展示
    二叉搜索树与双向链表
    复杂链表的复制
  • 原文地址:https://www.cnblogs.com/vichin/p/6201299.html
Copyright © 2011-2022 走看看