jQuery学习笔记(3)-操作jQuery包装集的函数
一、前言
在使用jQuery选择器获取到jQuery包装集后,我们就要对这些包装集进行各种操作
二、创建新的元素
1.使用HTMLDOM创建元素
(1)什么是DOM
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)
(2)使用HTML DOM创建元素
1 <div id="testDiv"></div>
2 <script>
3 var select = document.createElement("select");
4 select.options[0] = new Option("加载项1", "value1");
5 select.options[1] = new Option("加载项2", "value2");
6 select.size = "2";
7 var testDiv = document.getElementById("testDiv");
8 var object = testDiv.appendChild(select);
9 </script>
2.使用jQuery函数创建元素
1 <div id="testDiv"></div>
2 <script>
3 $("<select><option value ='value1'>加载项1</option><option value='value2'>加载项2</option></select>").appendTo($("#testDiv"))
4 </script>
5
(1)创建时注意
一定不要在页面加载时就改变页面的DOM结构,正确的做法是在页面加载完毕后添加或删除元素
方式一:所有资源完整加载后,再添加新的元素
缺点:如果某个图片或资源加载很长时间,就会显示一个不完整的页面
<script>
window.onload = function () {
$("<select><option value ='value1'>加载项1</option><option value='value2'>加载项2</option></select>").appendTo($("#testDiv"));
}
</script>
方式二:DOM完整加载后,再添加新的元素
<script>
$(document).ready(function () {
$("<select><option value ='value1'>加载项1</option><option value='value2'>加载项2</option></select>").appendTo($("#testDiv"));
});
</script>
或者使用简洁语法
<script>
$(function () {
$("<select><option value ='value1'>加载项1</option><option value='value2'>加载项2</option></select>").appendTo($("#testDiv"));
});
</script>
三、管理jQuery包装集的一些函数
1.过滤 Filtering
| $("p").eq(1) | 获取匹配的第二个元素 |
| $("p").filter(".selected") | 保留class为selected的元素 |
| $("div").filter(function (index) {return $("ol", this).size() == 0;}); | 保留子元素中不含有ol的元素 |
| $("input[type='checkbox']").parent().is("form") | 由于input元素的父元素是一个表单元素,所以返回true |
| $("p").append($("input").map(function () { return $(this).val(); }).get().join(", ")); | 把form中的每个input元素的值建立一个列表 |
| $("p").not( $("#selected")[0] ) | 从p元素中删除带有 select 的ID的元素 |
| $("p").slice(0, 1) | 选择第一个p元素 |
2.查找Finding
| $("p").add("<span>Again</span>") | 动态生成一个元素并添加至匹配的元素中 |
| $("div").children() | 查找DIV中的每个子元素 |
| $(document).bind("click", function (e) { $(e.target).closest("li").toggleClass("hilight"); }) | 为事件源最近的父类li对象更换样式 |
| $("p").contents().not("[nodeType=1]").wrap("<b/>") | 查找所有文本节点并加粗 |
| $("p").find("span") | 与$("p span")相同 |
| $("p").next() | 找到每个段落的后面紧邻的同辈元素 |
| $("div:first").nextAll().addClass("after") | 给第一个div之后的所有元素加个class |
| offsetParent( ) | |
| $("p").parent() | 查找每个段落的父元素 |
| $("span").parents() | 找到每个span元素的所有祖先元素 |
| $("p").prev() | 找到每个段落紧邻的前一个同辈元素 |
| $("div:last").prevAll().addClass("before") | 给最后一个之前的所有div加上一个class |
| $("div").siblings() | 找到每个div的所有同辈元素 |
3.串联 Chaining
| $("div").find("p").andSelf().addClass("border") | 选取所有div以及内部的p,并加上class |
| $("p").find("span").end() | 选取所有的p元素,查找并选取span子元素,然后再回过来选取p元素 |
四、参考文章
http://www.cnblogs.com/zhangziqiu/archive/2009/05/04/jQuery-Learn-3.html
jQuery学习笔记(3)-操作jQuery包装集的函数的更多相关文章
- Jquery学习笔记:获取jquery对象的基本方法
jquery最大的好处是将js对html页面的操作(读写)进行了封装,隔离了浏览器的差异性,并简化了操作,和提供了强大的功能. 在web页面中,所有的js操作都是围绕操作dom对象来的.而jquery ...
- jquery学习笔记---Dom操作
一.DOM操作的分类 DOM(document object model)是一种与浏览器.平台.语言无关的接口,使用该接口可以访问页面中的·所有组件.DOM的操作可以分为DOM Core.HTML-D ...
- jQuery学习笔记1——操作属性
一.获得和设置内容 三个简单实用的用于 DOM 操作的 jQuery 方法: text() - 设置或返回所选元素的文本内容, 得到匹配元素集合中每个元素的文本内容结合,包括他们的后代, 即由所有匹配 ...
- Jquery学习笔记:操作form表单元素之二(复选框和单选框)
在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...
- Jquery学习笔记:操作form表单元素之一(文本框和下拉框)
一.概述 在web页面开发中,经常需要获取和设置表单元素的值(如文本框中的内容),特别是在ajax应用中,更是常态.本文系统的介绍下如何操作. 同操作其它html元素一样,操作的过程差不多. 第一步, ...
- Jquery学习笔记:利用jquery获取select下拉框的值
jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
随机推荐
- OJ(Online Judge)
OJ:它是Online Judge系统的简称,用来在线检测程序源代码的正确性.著名的OJ有RQNOJ.URAL等.国内著名的题库有北京大学题库.浙江大学题库等.国外的题库包括乌拉尔大学.瓦拉杜利德大学 ...
- Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器client(5) 小结
经过不断试用与改动,这个查看器终于还是完毕了设计.实现.查看器,顾名思义,没有编辑功能:说的白一点,仅仅是一个以OpenStreetMap为底图的显示装置罢了.和专业GIS相比,这款基于插件的Open ...
- jmeter获取时间_time 函数
原始时间戳13位精确到毫秒:${__time(,)} 时间戳精确到秒10位:${__time(/1000,)} 时间日期到年月日2019-04-21:${__time(yyyy-MM-dd,)} 时间 ...
- 浅析java(多方面解读)
昨天我简单的说了一下我的编程学习之路.假设你热爱编程.而不是仅为了赚钱,我想我的经历或许会给你带来一定的启示,假设你还没有看.请先慢慢读完我的编程学习之路,您肯定会有还有一番体会的.. 好了.废话不多 ...
- arm-linux交叉编译工具链的制作(基于S3C2440)【转】
本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便, ...
- python utc时间转换为strftime
拿来主义: from datetime import datetimefrom time import timetime_sec = time()def time2str(time_with_sec) ...
- hdoj--1877--又一版 A+B(水题)
又一版 A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 今天要查一下,如果没有密保手机的号码在使用,怎么更换qq的密保手机
本来我是想是使用284来作为foxmail的一个记事本账号,但是需要验证130的手机,这是以前使用的手机,现在不能接受该短信了,得反馈下.
- pgsql数据库应用两点注意
今天在写一个sql脚本时遇到了两个问题,记录一下. 1,pgsql中没有select top n语句,可以用limit n代替. 2,pgsql可以在定义函数存储过程时使用变量,但要注意函数定义中的函 ...
- xargs 主要用于不支持管道的shell命令*****
变量置换,主要用于不支持管道的shell命令,如:rm.sed等,但有些命令需要占位符“{}”需要注意.比如:删除文件- ls|xargs -i rm -rf {} 文件改名- ls|xargs ...