jquery基础 笔记二
动态创建元素
关于使用HTML DOM创建元素本文不做详细介绍, 下面举一个简单的例子:
//使用Dom标准创建元素
var select = document.createElement("select");
select.options[0] = new Option("加载项1", "value1");
select.options[1] = new Option("加载项2", "value2");
select.size = "2";
var object = testDiv.appendChild(select);
通过使用 document.createElement 方法我们可以创建Dom元素, 然后通过appendChild方法为添加到指定对象上.
所以请大家将修改DOM的函数使用此方法调用. 另外还要注意document.createElement和innerHTML的区别.
如果可以请尽量使用document.createElement和$("<div/>")的形式创建对象.
或者使用jQuery 动态创建的$(document).ready(function){
function() { testDiv.innerHTML = "<div style=\"border:solid 1px #FF0000\">使用动态创建的$(document).ready(function)方法</div>"; }
}方法
管理jQuery包装集元素
既然学会了动态创建元素, 接下来就会想要把这些元素放入我们的jQuery包装集中.
我们可以在jQuery包装集上调用下面这些函数, 用来改变我们的原始jQuery包装集, 并且大部分返回的都是过滤后的jQuery包装集.
jQuery提供了一系列的函数用来管理包装集:
1.过滤 Filtering
| 名称 | 说明 | 举例 |
| eq( index ) | 获取第N个元素 | 获取匹配的第二个元素: $("p").eq(1) |
| filter( expr ) |
筛选出与指定表达式匹配的元素集合。 |
保留带有select类的元素: $("p").filter(".selected") |
| filter( fn ) |
筛选出与指定函数返回值匹配的元素集合 这个函数内部将对每个对象计算一次 (正如 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留。 |
保留子元素中不含有ol的元素:
$("div").filter(function(index) { return $("ol", this).size() == 0; }); |
| is( expr ) 注意: 这个函数返回的不是jQuery包装集而是Boolean值 |
用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。 如果没有元素符合,或者表达式无效,都返回'false'. 'filter' 内部实际也是在调用这个函数,所以,filter()函数原有的规则在这里也适用。 |
由于input元素的父元素是一个表单元素,所以返回true: $("input[type='checkbox']").parent().is("form") |
| map( callback ) |
将一组元素转换成其他数组(不论是否是元素数组) 你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立 |
把form中的每个input元素的值建立一个列表:
$("p").append( $("input").map(function(){ return $(this).val(); }).get().join(", ") ); |
| not( expr ) | 删除与指定表达式匹配的元素 | 从p元素中删除带有 select 的ID的元素: $("p").not( $("#selected")[0] ) |
| 选取一个匹配的子集 | 选择第一个p元素: $("p").slice(0, 1); |
2.查找 Finding
| 名称 | 说明 | 举例 |
| add( expr ) |
把与表达式匹配的元素添加到jQuery对象中。这个函数可以用于连接分别与两个表达式匹配的元素结果集。 |
动态生成一个元素并添加至匹配的元素中: $("p").add("<span>Again</span>") |
| children( [expr] ) |
取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。 可以通过可选的表达式来过滤所匹配的子元素。注意:parents()将查找所有祖辈元素,而children()只考虑子元素而不考虑所有后代元素。 |
查找DIV中的每个子元素: $("div").children() |
| closest( [expr] ) | 取得与表达式匹配的最新的父元素 |
为事件源最近的父类li对象更换样式: $(document).bind("click", function (e) { $(e.target).closest("li").toggleClass("hilight"); }); |
| contents( ) | 查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容 | 查找所有文本节点并加粗: $("p").contents().not("[nodeType=1]").wrap("<b/>"); |
| find( expr ) |
搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。 所有搜索都依靠jQuery表达式来完成。这个表达式可以使用CSS1-3的选择器语法来写。 |
从所有的段落开始,进一步搜索下面的span元素。与$("p span")相同: $("p").find("span") |
| next( [expr] ) |
取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。 这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素(可以使用nextAll)。可以用一个可选的表达式进行筛选。 |
找到每个段落的后面紧邻的同辈元素: $("p").next() |
| nextAll( [expr] ) |
查找当前元素之后所有的同辈元素。 可以用表达式过滤 |
给第一个div之后的所有元素加个类: $("div:first").nextAll().addClass("after"); |
| offsetParent( ) | 返回第一个有定位的父类(比如(relative或absolute)). | |
| parent( [expr] ) |
取得一个包含着所有匹配元素的唯一父元素的元素集合。 你可以使用可选的表达式来筛选。 |
查找每个段落的父元素: $("p").parent() |
| parents( [expr] ) | 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。 | 找到每个span元素的所有祖先元素: $("span").parents() |
| prev( [expr] ) |
取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。 可以用一个可选的表达式进行筛选。只有紧邻的同辈元素会被匹配到,而不是前面所有的同辈元素。 |
找到每个段落紧邻的前一个同辈元素: $("p").prev() |
| prevAll( [expr] ) |
查找当前元素之前所有的同辈元素 可以用表达式过滤。 |
给最后一个之前的所有div加上一个类: $("div:last").prevAll().addClass("before"); |
| siblings( [expr] ) | 取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。 | 找到每个div的所有同辈元素: $("div").siblings() |
3.串联 Chaining
| 名称 | 说明 | 举例 |
| andSelf( ) |
加入先前所选的加入当前元素中 对于筛选或查找后的元素,要加入先前所选元素时将会很有用。 |
选取所有div以及内部的p,并加上border类: $("div").find("p").andSelf().addClass("border"); |
| end( ) | 回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。 如果之前没有破坏性操作,则返回一个空集。所谓的"破坏性"就是指任何改变所匹配的jQuery元素的操作。这包括在 Traversing 中任何返回一个jQuery对象的函数--'add', 'andSelf', 'children', 'filter', 'find', 'map', 'next', 'nextAll', 'not', 'parent', 'parents', 'prev', 'prevAll', 'siblings' and 'slice'--再加上 Manipulation 中的 'clone'。 |
选取所有的p元素,查找并选取span子元素,然后再回过来选取p元素: $("p").find("span").end() |
转载:http://www.cnblogs.com/engine1984/archive/2012/02/28/2371473.html
jquery基础 笔记二的更多相关文章
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- jQuery基础之二
jQuery基础之二 jQuery的中文文档十分详细,并且权威.W3C的jQuery文档更加简单实用. jQuery 1.9.0 jQuery中文文档W3C的jQuery文档 jQuery操作DO ...
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- jQuery基础学习(二)—jQuery选择器
一.jQuery基本选择器 1.CSS选择器 在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例 标签选择器 E { ...
- jQuery基础(二)DOM
DOM节点的创建 jQuery节点创建与属性的处理 创建元素节点: $("<div></div>") 创建为文本节点: $("<div> ...
- jQuery基础笔记(2)
day54 筛选器 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html#autoid-1-7-5 筛选器方法 下一个元素: $("#id& ...
- jQuery基础笔记(1)
day54 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html 1. 为什么要学jQuery? MySQL Python ...
- jQuery基础之二(操作标签)
一:样式操作 addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名. hasClass();// 判断样式存不存在 toggleClass();/ ...
- jquery基础 笔记三
一. 操作"DOM属性" 在jQuery中没有包装操作"DOM属性"的函数, 因为使用javascript获取和设置"DOM属性"都很简单. ...
随机推荐
- 基于HTML5 FileSystem API的使用介绍(转)
FileSystem提供了文件夹和文件的创建.移动.删除等操作,大大方便了数据的本地处理, 而且所有的数据都是在沙盒(sandboxed)中,不同的web程序不能互相访问,这就保证了数据 的完整和安全 ...
- ansible playbook部署ELK集群系统
一.介绍 总共4台机器,分别为 192.168.1.99 192.168.1.100 192.168.1.210 192.168.1.211 服务所在机器为: redis:192.168.1.211 ...
- 走近AbstractQueuedSynchronizer
走近AbstractQueuedSynchronizer 一.从类结构开始 Java并发包中的同步器是很多并发组件的基础,如各种Lock,ConcurrentHashMap中的Segment,阻塞队列 ...
- springbcloud5----高可用
package com.itmuch.cloud; import org.springframework.boot.SpringApplication; import org.springframew ...
- oracle 分区表详解
一.分区表的概述: Oracle的表分区功能通过改善可管理性.性能和可用性,从而为各式应用程序带来了极大的好处.通常,分区可以使某些查询以及维护操作的性能大大提高.此外,分区还可以极大简化常见的管理任 ...
- The mind
Youtube励志红人Mateusz M,最近刚推出了网友期待已久最新励志短片<The mind>,短短一周播放量已近50万.来自波兰的他,年仅23岁,用自己擅长的蒙太奇,已创作十几个影响 ...
- 20145335《java程序设计》第三次实验报告
20145335郝昊<java程序设计>第三次实验报告 实验目的与要求 以结对编程的方式编写一个软件,Blog中要给出结对同学的Blog网址,可以拍照展现结对编程 情况,可以参考一下其他学 ...
- T-shirt again
T-shirt again 标签(空格分隔): 软工实践 第一次获得小黄裳是在大一下的C++课上,见T-shirt 0.0... 这次在软工课上能再次获得小黄裳,是我没有想到的,个人觉得里面有蛮多的运 ...
- 【前端】jQuery实现锚点向下平滑滚动特效
jQuery实现锚点向下平滑滚动特效 实现效果: 实现原理: 使用jQuery animate()方法实现页面平滑滚动特效 $('html, body').animate({scrollTop: $( ...
- JAVA链接数据库
链接:http://www.cnblogs.com/centor/p/6142775.html 开发工具: MyEclipse MySQL JDBC驱动:mysql-connector-java-5. ...