JQ第二天
一、属性、表单过滤选择器
- $("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第二天的更多相关文章
- jq插件第二款来袭 图片滚动
这第二款也是非常实用的插件,也是与图片相关,关于图片的需求太多了,这个是图片滚动哦,不过不是无缝滚动,是左像右滚动,到头的话再往回滚动,利用scrollLeft实现的,支持自动滚动和每次滚动的个数默认 ...
- jq的clone用第二次的时候为什么会复制clone出来的元素(即一变二,二变四)
原因是clone得到的是一个数组吗,每次再clone的时候,相当于操作了这个数组,肯定就会出现重复,我们只需要取第一个值就可以了,用.first()的方法 jquery(‘item‘).first() ...
- jq animate 的第二写法
俩个参数的写法 例子: $('#div1').animate({num:'auto'},{ duration : 1000, //运动时间 easing : 'linear', //运动形式 ...
- Python之路【第二十四篇】Python算法排序一
什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. ...
- js与jq对数组的操作
一.数组处理 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长 ...
- 有了jsRender,妈妈再也不用担心我用jq拼接DOM拼接的一团糟了、页面整齐了、其他伙伴读代码也不那么费劲了
写在前面 说来也很巧, 下午再做一个页面,再普通不过的分页列表,我还是像往常一样,基于MVC环境下,我正常用PagedList.MVC AJAX做无刷新分页,这时候问题就来了,列表数据中有个轮播图用到 ...
- js之 matches (可以取代jq的 delegate 方法)
问题:请给#wrap 下面的子元素添加点击事件! <div id="wrap"> <a class="btn" href="http ...
- Python之路【第二十二篇】CMDB项目
浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...
- Python之路【第二十一篇】Django ORM详解
ORM回顾 关系对象映射(Object Relational Mapping,简称ORM). django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 对于ORM框 ...
随机推荐
- win7使用自带资源管理器来登陆FTP
使用windows自带的资源管理器登陆FTP,其实很简单,打开计算机,在地址栏直接输入ftp://ftp.hostname即可. 但是这种方式需要每次输入ip地址,还要输入用户名和密码,比较麻烦.可能 ...
- Android 手机摇一摇功能的实现
package myapplication.com.myapp.activity; public class Home_Activity extends AppCompatActivity{ //传感 ...
- PHP 基础(赋值及函数)
开端<?php>结尾</php> 弱类型语言 定义变量的时候 不需要 声明 但是 每一个变量前 都必须 加$ 符号 储存文件按 统一放到 安装文件夹下面的 WA ...
- iOS10 SiriKit QQ适配详解
原文连接 1. 概述 苹果在 iOS10 开放了 SiriKit 接口给第三方应用.目前,QQ已经率先适配了 Siri 的发消息和打电话功能.这意味着在 iOS10 中你可以直接告诉 Siri 让它帮 ...
- 利用委托与Lambada创建和调用webapi接口
前言 现在项目中用的是webapi,其中有以下问题: 1.接口随着开发的增多逐渐增加相当庞大. 2.接口调用时不好管理. 以上是主要问题,对此就衍生了一个想法: 如果每一个接口都一个配置文件来管 ...
- static lib和dynamic lib
lib分为 staticlib 和 dynamic lib: 静态lib将导出声明和实现都放在lib中,编译后所有代码都嵌入到宿主程序, 链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放 ...
- VNC连接远程Ubuntu设置
一.windows 远程软件VNCViewer 这个不多说: 下载地址:http://www.realvnc.com/download/viewer/ 二.安装 vnc-server apt-get ...
- AngularJs ng-route路由详解
本篇基于ng-route来讲下路由的使用...其实主要是 $routeProvider 搭配 ng-view 实现. ng-view的实现原理,基本就是根据路由的切换,动态编译html模板. 更多内容 ...
- [C++][数据结构]队列(queue)的实现
对于队列的定义,前人之述备矣. 队列的实现方法与栈非常相似.我直接在我实现的那个栈的代码上加了一点东西,全局替换了一些标识符,就实现了这个队列. 我实现的是一个queue<value>容器 ...
- Hadoop Linux安装
Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...