jQuery学习笔记(一)

程序代码 
window.onload = function(){ ... } . 
     访问HTML文档的元素,必须先载入文档对象模型(DOM)。当window.onload函数执行的时候,说明所有东西已经载入,包括图像和横幅等等。要知道较大的图片下载速度会比较慢,因此用户必须等待大图片下载完毕才能看到window.onload()执行的代码效果,这样就花费了很长的等待时间,这不是我们想要的。

     对于此,jquery提供了一个"ready"事件,你可以使用以下的代码片段:

程序代码 

$(document).ready(function(){
// 你的代码
}); 

       $(document)意思是说,获取整个网页文档对象(类似的于window.document),$(document).ready意思就是说,获取文档对象就绪的时候。 
       上面这段代码的意思是检查文档对象直到它能够允许被操作(译者注:这样做比window.onload()函数要快的多,因为只要文档对象载入完成就能够执行代码了,而不需要等待页面中的图片下载是否已经完成)---这是我们想要的。

1,demo1: 

鼠标点击时的触发
       首先,我们尝试鼠标点击超链接时触发某些行为。在ready函数里加入以下代码:

程序代码 

$("p").click(function(){

alert("hello world");

});

2,demo2:

增加 CSS Class
       另外一个事情就是,一个共同的任务:增加或移除元素的css class,例如: 
程序代码 

$("a").addClass("test"); 
$("a").removeClass("test");


 
    那么当你调用了addClass函数后,所有超链接的字体将变成粗体。

使用jQuery的一般步骤:

1,首先把JQ导入.

2,然后开始写函数了。$(document).ready(function(){});

3,获取标签能直接 $("标签")。给标签添加onclick事件直接可以 click.

4,核心代码: 

$("#head").click(function(){$(".content").addClass("c_style");});

5,功能:通过单击id为control的元素改变id为box元素的样式 

知识点:addClass()添加样式 

3,demo3:

show( )和html()的使用

$("a").addClass("test").show().html("foo");

程序解释:

首先增加test样式,

然后show( ):显示隐藏的匹配元素。

接着html("foo"):设置每一个匹配元素的html内容

4,demo4:

特效hide()

$("a").click(function(){

    $(this).hide("slow");

    return false;

});

程序解释:

  点击超链接,超链接就会慢慢的消失。

 “return false"表示保留默认行为,因此页面不会跳转。

5,demo5:

demo5-收缩展开功能

$("#head").click(function()

{$("#content").slideToggle("slow",function(){ alert("Hello,cssrain..");});

});

程序解释:

1,首先把JQ导入.

2,然后开始写函数了。$(document).ready(function(){});

3,前面说过了,获取标签能直接 $("标签")。给标签添加 onclick事件直接可以 click.

4,核心代码: 

$("head").click(function(){$("content").slideToggle("slow");}); 

5,slideToggle(speed, callback)

通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。

这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式隐藏或显示。

6,demo6:

appendTo的用法

$('.btn1').click(function(){

$('<b>这是添加appendTo到p里面的内容</b>').appendTo('p');

});

程序解释:

定义和用法

appendTo() 方法在被选元素的结尾(仍然在内部)插入指定内容。

提示:append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。

7, demo7:

表格隔行变色, 鼠标滑过变色,点击变色.

// 鼠标经过
$('.list li').mouseover(function(){
$(this).addClass('hover');
});
// 鼠标移开
$('.list li').mouseout(function(){
$(this).removeClass('hover');
});
// 隔行变色
$('.list li:even').addClass('lightblue');
// 点击变色
$('.list li').click(function(){
$(this).toggleClass('click').removeClass('lightblue');
});

代码解释:

例子中用了:mouseover(),addClass(),mouseout(),removeClass(),click(),

toggleClass(),tr:even  等方法。

8,demo8:

toggle( )的用法:

$("tittle").toggle(function(){

     $(".content").hide('slow');

   },function(){

     $(".content").show('fast');

   });

切换元素的可见状态。

如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。

9demo9:

hover()的用法:

Hover(function over ,function out )

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.

Table里也可以用。

$(document).ready(function() {
$("#orderedlist li").hover(function() {
    // $("#orderedlist li:last").hover(function() {
        $(this).addClass("blue");
    }, function() {
        $(this).removeClass("blue");
    });
});

10,demo10:

忘记说了

其实$(document).ready(function(){
// 你的代码
});

中的也可以用 jQuery代替

jQuery(document).ready(function(){

jQuery(".").click(function(){jQuery(this).toggleClass("")})

});

代替有什么好处呢? 有可能你会用其他的js库,象prototype也是$, 有可能会冲突。

所以用jQuery代替$是比较安全的写法。

还有就是:

$(document).ready(function(){
// 
});  的缩写法:

$(
function() {
//
}
);

11demo11:

each—find的用法:

html代码:

<ul id="orderedlist">
<li>a</li>
<li>b</li>
<li>d</li>
<li>e</li>
<li>f</li>
<li>g</li>
<li>h</li>
</ul>


<ul id="ordered">
<li>a</li>
<li>b</li>
<li>d</li>
<li>e</li>
<li>f</li>
<li>g</li>
<li>h</li>
</ul>

js代码:

$('#ordered').find('li').each(function(i){
$(this).html($(this).html() + ' 对应的索引值是:' + i);
});

each() 方法规定为每个匹配元素规定运行的函数。

提示:返回 false 可用于及早停止循环。

12,demo12:

jQuery parent() 方法

parent() 方法返回被选元素的直接父元素。

该方法只会向上一级对 DOM 树进行遍历。

// $('.list').find('span').parent('p').css({'color':'red','border':'1px solid red'});    //设置多个 CSS 属性/值对
        $('.list').find('span').parent('p').css('color','red');        //返回第一个匹配元素的 CSS 属性值。

jQuery parents() 方法

parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)。您也可以使用可选参数来过滤对祖先元素的搜索。如下:

$('.list').find('span').parents('ul').css('color','red'); 
原文地址:https://www.cnblogs.com/bokebi520/p/4300524.html