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] )

slice( start, end )

选取一个匹配的子集 选择第一个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

时间: 2024-10-12 20:39:54

jquery基础 笔记二的相关文章

jQuery基础之二

jQuery基础之二 jQuery的中文文档十分详细,并且权威.W3C的jQuery文档更加简单实用. jQuery 1.9.0 jQuery中文文档W3C的jQuery文档 jQuery操作DOM元素 元素本身 attr() 获得元素的某项属性,更改或添加元素的属性值 实例 var className= $("div").attr("class") 获得元素的类名 attr("property",'value1') 更改一项属性 attr({p

JavaScript基础笔记二

一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变参(不定参)arguments function sum (a,b) { var result=0; var i=0; for(i=0;i<arguments.length;i++) { result+=arguments(i); } alert(resulet); } sum(12,5,7,5,5

Jquery api(笔记二)--basic filter

容易忽略的知识点: 一.:header选择所有的h1-h6标签 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>header demo</title> <script src="https://code.jquery.com/jquery-1.10.2.js"></s

Jquery基础(二)

简介: jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments.events.实现动画效果,并且方便地为网站提供AJAX交互. Jquery的语法与js和css的区别与联系: 1.选择器 css选择器: 基本选择器:* # . p 组合选择器:p,h p h p+h p>h 属性选择器:[class='aaa'] div[id] js中DOM节点查找: 直接查找 导航属性查找 6种 children parentElement firstEleme

jquery基础 笔记三

一. 操作"DOM属性" 在jQuery中没有包装操作"DOM属性"的函数, 因为使用javascript获取和设置"DOM属性"都很简单. 在jQuery提供了each()函数用于遍历jQuery包装集, 其中的this指针是一个DOM对象, 所以我们可以应用这一点配合原生javascript来操作元素的DOM属性: $("img").each(function(index) { alert("index:&quo

jquery基础 笔记一

一. 1. vsdoc: 在Visual Studio中需要引入此版本的jquery类库才能启用智能感知.如:jquery-1.3.2-vsdoc2.js<body> <div id="divMsg">Hello World!</div> <input id="btnShow" type="button" value="显示" /> <input id="btnH

jQuery基础学习(二)&mdash;jQuery选择器

一.jQuery基本选择器 1.CSS选择器     在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例   标签选择器 E {                 CSS规则   }   以文档元素为选择符   ID选择器 #ID{                  CSS规则 }   以ID为选择符   类选择器 E.className{                 CSS规则 }   以文档元素的Class为选择符   群组选择器 E1,E2{   

Jquery 常用笔记 (二)

此系列博客主要是记录常用到的Jquery的功能,如果有不正确的地方请大家指教,后续部分不定时更新(zouw) 3.内容操作 示例: <p id="test">这是段落中的<b>粗体</b>文本</p><input type="text" id="name" value="米老鼠"></p><button id="btn1">

jquery 学习笔记二 隐藏与显示

css找到元素后是添加样式,而jquery找到元素后是添加形为. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><