jQuery小记

前言

本见书上JavaScript事件一块较为繁琐细节甚多以为是要花上好一段时间才能学完再来做笔记。结果是当天晚上就粗粗看完内容后决定暂且不做笔记,转而在w3cschool上浏览完了jQuery教程昨天来不及做,今天起来就开始补上这篇小记。


效果动画

1.隐藏和显示

$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);//切换

可选的speed参数:可选值为"slow","fast"或者毫秒数
$(selector).hide(1000);
可选的callback参数是在隐藏或显示完成后执行的函数名称
2.淡入淡出:

$(selector).fadeIn(speed,callback);
$(selector).fadeOut(speed,callback);
$(selector).fadeToggle(speed,callback);
$(selector).fadeTo(speed,opacity,callback);//透明度变化

3.滑动:

$(selector).slideDown(speed,callback);//向下滑动显示元素
$(selector).slideUp(speed,callback);//向上滑动显示元素
$(selector).slideToggle(speed,callback);

4.动画:
语法:$(selector).animate({params},speed,callback);
该语句几乎可以操作所有的css属性,当需要操作元素的位置属性是需将元素的position设置为relative、fixed 或 absolute。同时填写css属性名称使用驼峰形式。
存在动画队列:即一个元素完成多条动画指令:

$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
}); 

有个链接功能:即对于同一个元素的多条语句(动作或方法)可以通过链接连在一起:

$("#p1").css("color","red")
 .slideUp(2000)
 .slideDown(2000);

5.停止动画
单独列出这一条语句是因为该语句存在两个参数需要试验过理解了才能熟练的使用:$(selector).stop(stopAll,goToEnd);
stopAll表示是否停止动画队列里所有动画默认为false
goToEnd只有设置了stopAll才有效,表示是否跳过动画达到当前动画语句的最后的形态
而如果stopAll为false则立马跳过第一条动画立即执行下一条动画指令。
ps:描述并不清楚,若回顾这篇文章还是需要自己动手实践过才知道两个参数的实际意义。


6:捕获
所谓捕获就是获取东西,可以获取的有内容和属性。
1.获取内容:
text()返回所选元素的文本内容
html()返回所选元素的内容包含HTML标记
val()返回表单字段的值(ex:input里的输入值)

<p>名称: <input type="text" id="test" value="someText"></p>
<button>显示值</button>
$(document).ready(function(){
  $("button").click(function(){
    alert("值为: " + $("#test").val());
  });
});

同时这三个函数都存在回调函数:

$(element).text(function(i,origText){
    return 
"The old text: "+origText + "New text : hello world!";
});

return的值就是要写入element中的新值,origText是旧值,i是该元素的的下标
2.获取属性
$(element).attr("attrName");

而attr()方法允许同时设置多个属性:

$("button").click(function(){
  $("#w3s").attr({
    "href" : "//www.jianshu.com/",
    "title" : "简书官网"
  });
});

而attr()方法的回调函数用法如下:

$("button").click(function(){
  $("#link_test").attr("href", function(i,origValue){
    return origValue + "/u/caf9042c3d27"; 
  });
});

个人认为该回调函数更方便的获得了旧属性来进行接下来的操作。
7.删除元素
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素
remove() 方法也可接受一个参数,允许对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。

$("p").remove(".italic");
//不是删除p元素中class为italic的元素而是删除所有class为italic的p元素

8.添加元素
append() - 在被选元素内部的结尾插入指定内容
prepend() - 在被选元素内部的开头插入指定内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容
这些方法都可以接受无限数量个新元素

function appendText()
{
var txt1="<p>Text.</p>";               // 使用 HTML 标签创建文本  
var txt2=$("<p></p>").text("Text.");   // 使用 jQuery 创建文本
var txt3=document.createElement("p");  
txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM
$("p").append(txt1,txt2,txt3);         // 追加新元素 
}
function afterText()
{
var txt1="<b>I </b>";                    // 使用 HTML 创建元素  
var txt2=$("<i></i>").text("love ");     // 使用 jQuery 创建元素
var txt3=document.createElement("big");  // 使用 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在图片后添加文本
}

9.操作类
addClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类
toggleClass() - 对被选元素进行添加/删除类的切换操作
css("propertyname") - 返回首个匹配元素的样式属性值
同时可以通过 css("propertyname","value");设置属性值
如需设置多个 CSS 属性,请使用如下语法:

 element.css({"propertyname":"value","propertyname":"value",...});

10.遍历DOM
向上遍历DOM树:

parent()//返回所选元素的直接父元素
parents()//返回所选元素的所有祖先元素,一路向上直到文档的根元素,<html>
parentsUntil()

parents()方法存在可选参数(祖先元素的类型)来过滤搜索结果:

$(document).ready(function(){
  $("span").parents("ul");
});

parentsUntil()方法返回两个元素之间的所有被选元素的祖先元素(不包括边界元素):

<body class="ancestors"> body (曾曾祖父元素)
  <div style="width:500px;">div (曾祖父元素)
    <ul>ul (祖父元素)  
      <li>li (父元素)
        <span>span</span>
      </li>
    </ul>   
  </div>
</body>
<script>
$(document).ready(function(){
  $("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});
});
</script>

ul和li有红色边框显示
而将parentsUntil参数变成parentsUntil(".ancestors")则在上面的基础上div也会拥有红色边框.说明该参数可以是任何 jQuery 选择器的语法。
向下遍历简单了许多:

children()//没有参数则返回直接子元素、也可以有参数对结果进行过滤
find()//有参数对搜索结果进行过滤,该参数可以是任何 jQuery 选择器的语法。

返回div的所有后代:$("div").find("*");


水平遍历:
水平遍历分为两大类:
1.返回所有的兄弟元素:

 siblings()
//可以有参数,和遍历祖先和孩子一样填写参数

2.单一方向遍历:
分为向前向后遍历,在此只记录向后遍历:

 next()//返回当前元素的下一个兄弟元素只返回一个元素所以没有参数
 nextAll()//返回所有跟随元素且可以有参数参数填写同上文
 nextUntil()//用法与parentsUntil()类似也可以有参数

向前遍历:
preve(),prevAll(),prevUntil()
11.过滤
在选取DOM中的节点时存在了过滤的方法来缩小搜索范围:

first(),
last(),
eq(n)//第n个元素从0开始计数
filter("")//通过css选择器来缩小范围表示符合filter内的条件的某些元素
not()//与filter正好相反

结尾

内容不算很多,但是记录下来也花了很多时间,本是想分好几天看完,心有愧疚地玩了会游戏又开始逼着自己看完了内容。看的时候就开始记录笔记为了方便写简书,可能是刚开始记录的原因实在是有点烦人有点累,坚持坚持就好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 647评论 0 3
  • jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由约翰·雷西格(...
    静候那一米阳光阅读 773评论 0 18
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,013评论 0 2
  • 不知道下面这篇文章的作者是谁,只能确定他是我的一个校友。14年的文章,我前两天才看到,有所感,转发在这里,聊作纪念...
    晃晃悠悠的招财猫阅读 5,457评论 1 1
  • 首先,我们先为Array新增一个迭代方法iterate!,如下: 那么我们看看应该怎么调用? 与属性不同,在方法中...
    kamionayuki阅读 654评论 0 1