首页 > 代码库 > jQuery习题的一些总结

jQuery习题的一些总结

1.在div元素中,包含了一个<span>元素,通过has选择器获取<div>元素中的<span>元素的语法是提示使用has    

$("div:has(span)")

2.在三个<ul>元素中,分别添加多个<li>元素,通过jQuery中的子元素选择器,将这三个<ul>元素中的第一个 <li>元素隐藏,代码是? 提示使用first-child

$("li:first-child")hide()

3.在页面的表单中增加了多个<input>类型的复选框元素,其中有的处于选中状态,通过jQuery选择器,将这些 选中状态的元素隐藏,代码为?

$("form input:checked").hide();

4.如何获取列表框元素中被选中元素的的值,代码为:

$("select option:selected").text()

5.使用attr方法,取消id号为test的复选框选中状态代码为:

$("#test").attr("checked",false);切记这里的属性值不能加双引号

find()的用法?

alert($("#TrackID").find("option:selected").text());

表单元素里获取值用对象.val();  其他标签里用text或html;

jQuery追加文本的方法.append();
键盘敲入的字符接受的时候是在keyUp事件之后,其他keyDown,keyPress事件如果追加文本都先存在缓存区里!

DOM 0级注册方式 click DOM 2级注册方式 bind live

用click和bind方式不能给后来动态生成的对象绑定原有的事件,不用克隆true的方式时就用live方法!

appendTo():如果对象原本就存在的,如$("li:first").appendTo("ul")那么ul里的li数量不会变,但是会把第一个li和第二个li调换位置 <ul>   <li id="one">aa</li>   <li id="two">bb</li> </ul>

如果对象是新添加的,那么$("<li>cc</li>").appendTo("ul")那么ul里的li数量会增加一个在最后。

如果想用第一种方法可以先克隆一下,如:$("li:first").clone(true).appendTo("ul")那么也会改变li的长度,true代表对象自身的事件也被复制过去了

透明度:

opacity 0完全透明  1不透明  0.5折中

$(function () {

         $(‘dd‘).hover(function () {     

            $(this).animate({ opacity: "0.5" });       

         }, function () {          

               $(this).animate({ opacity: "1" });       

      })

   })

jQuery如果在一个紧密事件里多次追加样式.addclass("样式"),不会覆盖掉原样式,如hover()事件里鼠标悬浮移开就会在标签里class=""

里以空格分离的形式多次在后面追加样式,所以如果多次用到,追加后在鼠标移开的事件里记得清楚样式。

jQuery可以同each()方法遍历元素集合:

$("button").click(function(){ $("li").each(function(){ alert($(this).text()) });});

jQuery可用$.each遍历数组:

1:相当于key value

$.each(Array, function(i, value) {

     this;      //this指向当前元素

     i;         //i表示Array当前下标

     value;     //value表示Array当前元素

});

2:相当于下标

$.each(Array, function(i) {

     this;      //this指向当前元素

   Arrayp[i]   //Arrayp[i]指向当前元素

     i;         //i表示Array当前下标

3:直接什么都不用,this直接代替当前数组元素

 var arr = [ "one", "two", "three", "four"];     
 $.each(arr, function(){     
    alert(this);     
 });