整理js和jquery相关用法(待续)

本文深入探讨JavaScript的基础概念,包括变量、事件、数组操作、数组最大值查找、字典使用、数组简化声明、jQuery库应用、DOM操作、jQuery内置对象、隐式迭代、节点遍历、链式编程、基本过滤选择器等核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js:


注意:


1js 代码是从上往下执行的,所以一般写在<head>标签里面,最早执行(比onload还要早),

body里面的就比较晚执行了


2、

导入外部的js文件:

<script  src=" "  type="text/javascript">


</script>


3、事件


<a href="javascript:alert( ' hello' )"> click</a>


javascript 相当于一个协议http,ftp等 只有在href中,是个特例


4、

js变量


1)js中既可以使用双引号声明字符串,也可以使用单引号声明字符串,主要是为了方便和html集成,避免转义符的麻烦

2)js 中有null ,undefined 两种,null --变量的值为空,undefined则表示变量还没有指向任何对象


3)

  变量可以指向任意的类型。var i = 10, i = "abc"

  js也可以不用var声明变量,直接用,这样使用是全局变量,但是最好还是加上


5、js调试


internet选项-->高级选项卡


去掉‘禁用脚本调试’前的勾选


以调试的方式运行网页


6、js初始化


var x;

       //未被初始化

if(x == null){ }


if(typeOf(x) == "undefined" ){ }


if(!x){ }  


if(x){ } //变量被初始化了或者变量不为空或者变量不为零。推荐使用这种方法



7、声明匿名函数:


var f1=   function(i1 , i2)  //把函数交给委托f1,注意不要委托变量,也可以直接使用匿名函数

{ return i1+i2;};

 

alert(f1(1,2));



// alert( function(i1,i2) {return i1+i2;} (10,10) );


直接声明一个匿名函数,立即使用, 避免命名冲突的问题。。。。



8、数组


var arr = new Array();

arr[0] = "aa";

arr[1] = "ab";

arr[2] = "ac";


for(var i=0; i<arr.length; i++)

{

    alert( arr[i] );

}



9、取到数组的最大值


function getMax( arr ){

    

           var max = arr[0];

           for(var i=0; i< arr.length; i++)

            {

               if(arr[i]> max)

               {

                  max = arr[i];

                }

           }

         return max;

}

//调用

var arr1 = new Array();

arr1[0] = 20;

arr[1] = 10;

arr[2] = 3;


alert(  getMax(arr1)  );



9、

join 将数组的每个元素都用分隔符串起来


function myjoin(arr, splitStr){


      if (arr. length <0 ){

             return;

       }

      var s = arr[0];

      for(var i=1;i<arr.length; i++)

     { 

           s = s+ splitStr + arr[i];

     }

     return s ;

}



10、array的字典用法


var dict = new Array();

dict[" 人"] = "ren";

dict[" 口"] = "kou";

dict[" 手"] = "shou";

alert(dict("口"));


遍历array

for(var k in dict)

{

     alert(k)//遍历出来的值是key值

}

/*数组用法是dictionary的一个特例,打印出来的是key值*/



11、array的简化声明


var arr = [3.5,56,665];


字典风格的简化创建方法:


var arr = {"tom": 30 , "jim": 20};


12. jQuery


$(" div").draggable(); //让所有的div可以拖动


让div动态的隐藏


$("div").click = $(function(){


      $(this).hidden("slow");//让div 慢慢的消失

})


13、

ready 函数


$(document).ready(function(){})

$(document) --将dom 对象转换为jquery对象

再调用ready 函数//注册事件函数,它和unload类似,但是unload只能注册一次,而ready可以多次注册



14、 jQuery提供的内置对象: 


1)$.map(array, fn)对数组array中每个元素调用fn函数逐个进行处理返回,最后得到一个新的数组

ex:

var arr = [3,5,9];

var arr2 = $.map(arr,function(item){ return item *2 });


**** $.map()不能处理dictionary风格的数组


2)$.each(array, fn)对数组array的每个元素调用fn函数进行处理,没有返回值

该函数可以用于处理dictionary风格的数组



var dict = {"tom":20, "jim":74, "jerry":4};


$.each(dict, function(key , value){


       alert(key +"的年龄是:"+value );

})


//another  method


$.each(dict, function(item){


       alert(item );//key值

})


//third


$.each(dict, function(){   --当没有参数的时候,返回的是当前的值


       alert(this );//value值  此法同样可以用于处理dictionary风格的数组

})


总结:

           普通数据推荐用无参,用dict风格的就用key 、 value 带参数的




15、


jquery对象,dom对象


dom对象要想通过jquery进行操作,先要转换为jquery对象


$('#div1').html()  等价于  document.getElementById("div1").innerHTML;


$('#div1').html(" <a href = 'http://www.baidu.com></a>'")    //有参数是赋值,无参数是取值



注意:


数组是js语言本身的东西,不是jquery所共享的,所以不需要转换为jquery对象



jquery 修改样式


$("#div").css("background","red");


取样式:


$("#div").css("background");


$("#txt1").val(new Date())//赋值

$("#txt1").val()//取值

$("#div1").text();




16、隐式迭代


$("bt1").click(function(){  });

$("btn2").mouseover(function(){})



17、

节点遍历:1)next 2) nextAll

next() 用于获取节点之后的(紧挨着的)第一个同辈元素(同级的下一次元素)


nextAll() -- 显示所有节点的值


nextAll(" div ")--过滤掉p,只显示div节点的元素的text文本值



$.each($(this).nextAll("div"), function(){  $(this).css("background", "red")  })



//遍历每个元素div设置背景为红色


siblings 用于获取所有的同辈元素

$(". menuitem").siblings("li")





18、链式编程

$("div").click(

function(){

    $(this).css("background","red").siblings("div").css("background","white");

}


19、jquery9 基本过滤选择器

1、:first 选取第一个元素 $("div: first") 选取第一个div

2、:last 选取最后一个元素 $("div: last") 选取最后一个div

3、:not(选择器)选取不满足“选择器”条件的元素

      $( " input: not(.myClass)")  选取样式名不是myClass的<input>


4、:even、:odd,选取索引是奇数,偶数的元素:$("input:even")选取的索引事奇数的<input>

5、:eq(索引序号), :gt、:lt选取索引等于、大于、小于索引序号的元素


$("input:lt(1)")选取索引小于1的<input>


******************

 正文前三行数据(table从第二行开始才是正文)

$("#table1 tr: gt(0):lt(3)").css()----注意:lt(3)是从gt(0)出的新序列中的序号,不要写成lt(4)


******************

6、$(":header")选取h1…..h6元素


7、$("div:animated")选取正在执行动画的div元素

8、相对选择器


$(function(){


      $("#div").click(function(){

            $("ul",$(this)).css("background","red");

//第二个参数传递一个query对象,则相对于这个对象为基准进行相对的选择。。。。

     })


})


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值