一、属性、表单过滤选择器

  • $("div[id]")选取有id属性的<div>//$("div [id]")有空格表示div层当中有id属性的元素
  • $("div[titlt=test]")选取title属性为"test"的<div>。因为jQ中没有对getElementsByName进行封装
  • $("div[title!=test]")选取title属性不为"test"的<div>
  • 可以选择开头【name^=值】,结束[name$=值],包含[name*=值]等,并且条件是可以进行复合的。[[属性1=a][属性2=b].....]
  • 以下为表单对象属性选择器(过滤器)
  • $("#form1 :enabled")选取id为form1的表单内所有启用的元素
  • $("#form1 :disabled")选取id为form1的表单内所有禁用的元素(没有空格表被禁用的form)
  • $("input:checked")选取所有选中的元素(Radio.CheckBox),这个中间不能加空格。
  • $("select:selected")选取所有选中的选项元素

二、元素中的each

  • $(selector).each(function(index,element))

    必需。为每个匹配元素规定运行的函数。

    • index - 选择器的 index 位置
    • element - 当前的元素(也可使用 "this" 选择器)

var cks=$('div input:checked');

cks.each(function (index,ele)){

  alerts($(ele).val());

}

三、其他过滤器

1)\

  • $(":input")选取所有<input>,<textarea>.<select>和<button>元素,而$("input")只获得<input>
  • $(":text")选取所有的单行文本框,等价于$("input[type=text]")
  • 用于代替$("input[type=**]")

2)内容过滤器

  • :contains(text);过滤出包含给定文本的元素
  • :empty;过滤出所有不包含子元素或者文本元素的空元素
  • :has(selector);过滤出元素中包含(即子元素中)selector选择器能选择到的元素
  • :parent;过滤出可以当父元素的元素,或者元素中包含文本

四、子元素过滤器

  • :first-child与:first的区别

    • $('ul li:first')只返回一个li元素
    • $('ul li:first-child')//为每一个父元素(ul)都返回一个li
  • :last-child
  • :only-child:匹配当前只有一个子元素的元素
  • :nth-child,为每一个父元素都匹配一个子元素
    • :nth-child(index),index start form 1
    • :nth-child(even)
    • :nth-child(odd)
    • :nth-child(3n),选取3的倍数的元素
    • :nth-child(3n+1),满足3的倍数+1的元素

五、attr

  • $('#ck').attr('checked',true);//一般写两个值,属性和属性值,--设置该属性是该值,如果只写了一个属性,那么获取的是该属性的值
  • $('div').removeAttr('属性的名字');//表示移除该属性

六、动态创建元素

  • $('<a href="http://www.baidu.com"></a>').text('百度').appendTo($('body'));
  • //创建一个超链接添加到body中
  • var akObj=$('<a href='http://www.baidu.com'></a>').text('百度');
  • $('body').append(akObj);//添加到akObj中

小广告的代码

<script type="text/javascript">
        $(function () {
            $('#btn').click(function () {
                var dvObj = $('<div style="width:300px;height:200px;position:absolute;right:0;bottom:0;"></div>').appendTo($('body'));

                $('<span style="float:right;cursor:pointer;">X</span>').click(function () {
                    $(this).parent().remove();

                }).appendTo(dvObj);
            })
        })
    </script>


$(function () {//动态生成表格
            var dic = { "百度": "http://www.baidu.com", "好123": "http://www.hao123.com", "谷歌": "http://www.google.com" };
            $('#btn').click(function () {
                var Objtab = $('<table border="1"></table>').appendTo('body');
                for (var key in dic) {
                    $('<tr><td>'+key+'</td><td><a href="'+dic[key]+'">'+key+'</a></td></tr>').appendTo(Objtab);
                }
            });

})


<script type="text/javascript">
        $(function () {
            sec = 5;
            var setId = setInterval(function () {
                sec--;
                if(sec<=0)
                {
                    sec = 0;
                    clearInterval(setId);
                    $('#btn').val('同意').attr('disabled', false);
                }
                else
                {
                    $('#btn').val('请仔细阅读要求(' + sec + ')');
                }
            }, 1000);
        })
    </script>

<input type="button" value="请仔细阅读要求(5)" disabled="disabled" id="btn" name="name"/>

七、blur:当元素失去焦点时发生 blur 事件。

作用:当元素失去焦点时改变其颜色:

$(':text').blur(function () {
                if ($(this).val().length == 0) {
                    $(this).css('border-color', 'red');
                } else {
                    $(this).css('border-color', '');
              }
 });

八、一些小总结

  • appendTo会把这个元素移到另一个元素之中,剪切
  • 而且剪切过去之后的,本来应有的事件会继续保留,除非用unbind行为去移除这一个事件

九、结束

  • 替换节点:$("br").replaceWith("<hr/>") note:用<hr/>替换br
  • 包裹节点:wrap()方法用来将所有元素逐个用定义标签包裹:wrapAll()
  • $('b').wrap('<font color='red'></font>')将所有粗体字用红色显示

JQ第二天的更多相关文章

  1. jq插件第二款来袭 图片滚动

    这第二款也是非常实用的插件,也是与图片相关,关于图片的需求太多了,这个是图片滚动哦,不过不是无缝滚动,是左像右滚动,到头的话再往回滚动,利用scrollLeft实现的,支持自动滚动和每次滚动的个数默认 ...

  2. jq的clone用第二次的时候为什么会复制clone出来的元素(即一变二,二变四)

    原因是clone得到的是一个数组吗,每次再clone的时候,相当于操作了这个数组,肯定就会出现重复,我们只需要取第一个值就可以了,用.first()的方法 jquery(‘item‘).first() ...

  3. jq animate 的第二写法

    俩个参数的写法 例子: $('#div1').animate({num:'auto'},{ duration : 1000,   //运动时间 easing : 'linear',    //运动形式 ...

  4. Python之路【第二十四篇】Python算法排序一

    什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. ...

  5. js与jq对数组的操作

    一.数组处理 1.数组的创建  var arrayObj = new Array(); //创建一个数组  var arrayObj = new Array([size]); //创建一个数组并指定长 ...

  6. 有了jsRender,妈妈再也不用担心我用jq拼接DOM拼接的一团糟了、页面整齐了、其他伙伴读代码也不那么费劲了

    写在前面 说来也很巧, 下午再做一个页面,再普通不过的分页列表,我还是像往常一样,基于MVC环境下,我正常用PagedList.MVC AJAX做无刷新分页,这时候问题就来了,列表数据中有个轮播图用到 ...

  7. js之 matches (可以取代jq的 delegate 方法)

    问题:请给#wrap 下面的子元素添加点击事件! <div id="wrap"> <a class="btn" href="http ...

  8. Python之路【第二十二篇】CMDB项目

    浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...

  9. Python之路【第二十一篇】Django ORM详解

    ORM回顾 关系对象映射(Object Relational Mapping,简称ORM). django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 对于ORM框 ...

随机推荐

  1. php生成随机字符串

    <?php echo make_random_str(); function make_random_str() { $arr = ["A","B",&q ...

  2. TypeError: datetime.datetime(2016, 9, 25, 21, 12, 19, 135649) is not JSON serializable解决办法

    1.一个简单的方法来修补json模块,这样序列将支持日期时间. import json import datetime json.JSONEncoder.default = lambda self, ...

  3. java 深入技术六(Map)

    Map 1.map概述 map.put(key,value)里面存放的是两个相关的数据,key=value键值对 Map集合中存放的是键值对(put(key,value)),用get(key)获取集合 ...

  4. git mac客户端使用提交与同步

    点击file -> add local  repository 将本地已经存在的git库添加到客户端中 当项目有改变时,点击正上方居中的Uncommitted Change按钮查看改变的内容 在 ...

  5. [jquery]添加行内容后根据下拉菜单选择内容对比之前已有选项,若有重置再提示

    今天页面上一个添加列内容时,要对选择内容与之前已有选项内容作对比,防止用户重复选择内容 页面HTML代码 <ul class="list-group xj-list-NObor xj- ...

  6. linux svn 搭建

    原文:http://jingyan.baidu.com/article/3c343ff7039de20d37796306.html和http://blog.sina.com.cn/s/blog_670 ...

  7. FileReader:读取本地图片文件并显示

    最近忙得比狗还惨,导致长时间没能更新文章,真心对不住啊.抽空整理了下关于在页面上读取和显示本地图片的实例文章,本文通过实例讲解如何使用支持FileReader浏览器的用户将能够通过一个file inp ...

  8. (转)Nginx SSL+tomcat集群,request.getScheme() 取到https正确的协议

    转自http://www.cnblogs.com/interdrp/p/4881785.html 最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,to ...

  9. Google之Chromium浏览器源码学习——base公共通用库(四)

    本文将介绍debug调试相关的内容,包括调试器.性能分析.堆跟踪.跟踪事件等: alias.h:Alias函数,提供防止载微软的编译器优化某参数变量的操作,内部通过#pragma optimize(& ...

  10. Oracle 11g RAC 卸载CRS步骤

    Oracle 11g之后提供了卸载grid和database的脚本,可以卸载的比较干净,不需要手动删除crs ##########如果要卸载RAC,需要先使用dbca删除数据库,在执行下面的操作### ...