JQuery 入门学习(二)

    时隔几天,天气依旧炎热,不过坐在空调房里的我一点也感觉不到~(笑)。我的事也在稳步进行着,这个下午继续我上一篇的Jquery。

    (文中代码大家依旧可以拿到 http://www.w3school.com.cn/tiy/t.asp?f=html_basic 上运行查看效果 )

    选择器详解和css语法

    上次简单地说了选择器,只提到了一个id选择器,选择id=xxx的某元素。其实Jquery的选择器可谓多种多样,对css比较熟悉的同学就很好学了,因为css的语法Jquery选择器基本都能用。

    比如,css里面,定义一个类的样式的方法:.XXX{},而在Jquery里选择一个class=XXX的元素的方法:$(".XXX")。

    举一些常用的例子,详细的选择器说明在w3school里都有列出。

说明 Jquery选择器 选择的元素举例 类似的css语法
选择第一个id=xxx的元素 $("#main") <div id="main"></div> #main { }
选择所有class=xxx的元素 $(".intro") <div class="intro"></div> .intro {}
选择所有X元素(X为标签名) $("h1") <h1></h1> h1 {}
选择第一个某元素 $("p:first") (第一个P元素) <p></p><p></p> p:first-child {}
选择第n个某元素 (Jquery中从0开始,css中从1开始) $("p:eq(1)") (第二个p元素) <p></p><p></p> p:nth-child(2) {}
选择tr元素下的第二个td元素 $("tr td:eq(1)") <tr><td></td><td></td></tr> tr td:nth-child(2) {}
选择所有带有某属性的元素 $("[name='user']") <input name="user" /> [name='user'] {}
选择所有href="qq.com"的a元素 $("a[href='qq.com']") <a href="qq.com"></a> a[href='qq.com'] {}
选择所有type="hidden"的<input>元素 $(":hidden") <input type="hidden" /> input[type='hiden'] {}

    这只是我举的一些例子,基本上选择器Jquery和css类似,所以对css比较熟悉的人可以很快掌握Jquery的选择器语法,这也是Jquery流行的原因之一,很好学习,一通百通。

    事件详解

    在很多Jquery代码中,我们总是能看到是这样的形式:

	$(document).ready(function(){
		//Jquery代码
	});
    所有的代码被套在了最外层的ready中。我上次也提到了,ready是一个事件。我们上面说的选择器,它选择某元素的作用,其实就是为了完成后面的工作。看我们这个代码,$(document)选择的是document对象,这个对象学javascript应该很清楚,指的就是整个html文档。选在选在到了对象,这个对象有一个方法ready();


    ready是一个事件。事件是什么概念,和很多编程一样,事件是由用户在执行相应的操作后自动触发的一个过程,我们可以给某事件绑定一个处理函数,当用户触发了这个事件后,就能执行我们绑定的函数。

    ready()是一个事件绑定函数,它中间那个function(){}就是我们为ready事件绑定的函数。ready事件在对象加载完成后触发,我们前面选择的是document对象,所以这个ready就是指整个文档加载完成后触发的事件。

    所以整段代码意思就是为document对象的ready事件添加响应函数function(){},这个函数里面添加我们希望Jquery做的事情。当文档加载完成后,执行此函数,相当于执行我们的代码。

    我列举一些Jquery中常用的事件及其绑定函数:

        click 鼠标点击事件 (最常用,当鼠标点击某对象时触发此函数)

        change 对象被改变(如input框中写入、修改、删除文字时触发此事件)

        focus 对象获得焦点(如光标进入textarea框触发此事件)

        blur 对象失去焦点(与focus事件相对)

        load 对象加载完成(如图像被加载完成时触发此事件)

        error 对象遇到错误 (如图像输入了一个错误的地址,没有成功加载)

        mousemove 鼠标移动 (当鼠标移动时触发此事件)

    上次我举了几个例子,有一个就是点击按钮后“离别歌”出现在页面中,触发的就是click事件。

    这次试试mousemove事件,运行这段代码:

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $(document).mousemove(function(e){
    $("span").text(e.pageX + ", " + e.pageY);
  });
});
</script>
</head>
<body>
<p>鼠标位于坐标: <span></span>.</p>
</body>
</html>
    可以看到,鼠标移动后就能输出当前鼠标所在的坐标。其中function有一个参数e,每个事件函数都有一个参数,这个参数就是指该事件本身。(当然这个参数可以省略),e.pageX和e.pageY就是指鼠标以后后鼠标所在的位置。


    html操作详解

    选择器的作用我说了,就是完成为了后面的操作。除了为选择到的对象添加一个事件响应函数外,还能直接操作此对象,这就是我们的html操作。

    我也列举一些常用的html操作方法(更详细地在w3school中查看)

方法 举例 例子说明
html() var txt = $("div#main").html(); id=main的div元素,获取其中内容赋值给txt
append() $("div#main").append('<br/>leavesongs.com'); 向id=main的div元素中追加内容'<br/>leavesongs.com'
prepend() $("div#main").prepend('leavesongs.com<br/>'); 向id=main的div元素中,在最前端增加内容
attr() $("table").attr("width","500"); 将所有table元素的属性设置为宽度等于500px
val() var pass = $(":password").val(); 获得密码框中的值(val()方法一般作为获取input框中内容的方法)
hide() $("div#main").hide('slow'); 缓慢隐藏id=main的div元素
show() $("div#main").show(2000);
用2000毫秒的时间显示id=main的div元素
remove() $("div#main").remove();
移除id=main的div元素

    通过这些方法,我们能动态地对html页面进行操作。再结合之后我要说的ajax,就可以动态地向服务器请求内容,并在不刷新页面的情况下更新页面中一部分。

赞赏

喜欢这篇文章?打赏1元

评论

风机盘管 回复

这种问题而发愁了。

梦蓝软件箱 回复

这个学起来很枯燥的,不过坚持下去相信会变成高手的

captcha