jQuery03

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>

jQuery.fn = jQuery.prototype = {  //添加实例属性和方法
    jquery : 版本
    constructor : 修正指向问题
    init() : 初始化和参数管理
    selector : 存储选择字符串
    length : this对象的长度
    toArray() :  转数组
    get() :  转原生集合
    pushStack() :  JQ对象的入栈
    each() :  遍历集合
    ready() :  DOM加载的接口
    slice() :  集合的截取
    first() :  集合的第一项
    last() :   集合的最后一项
    eq() :   集合的指定项
    map() :   返回新集合
    end() :   返回集合前一个状态
    push() :    (内部使用)
    sort() :    (内部使用)
    splice() :  (内部使用)
};

</script>
<script src="jquery-2.0.3.js"></script>
<script>

alert( $().jquery );//2.0.3

function Aaa(){
}
Aaa.prototype.constructor = Aaa;//这是js源码自动生成的
Aaa.prototype.constructor = Array;//改变指向
Aaa.prototype.name = 'hello';
Aaa.prototype.age = 30;
Aaa.prototype = {
    constructor : Aaa,//不重指就是object
    name : 'hello',
    age : 30
};
var a1 = new Aaa();
alert( a1.constructor );//Aaa
----------------------------------------------------------------------
//$() jQuery()  对外接口
$(function(){
    console.log( $('li').css('background','red') );
    $('li')[1].style.background = 'red';
});

var aLi = document.getElementsByTagName('li');//$('li')
for(var i=0;i<aLi.length;i++){
    aLi[i].style.background = 'red';
}

this = {//json不能for循环,因为没有length属性。只能for in 循环
    0 : 'li',
    1 : 'li',
    2 : 'li',
    length : 3
};
for(var i=0;i<this.length;i++){
    this[i].style.background = 'red';
}
</script>
</head>
<body>
<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-203.js"></script>

//jQury源码加载进来的,是一个立即执行函数,会先执行一些代码。
<script>

$(function(){
    var str = '<li>1</li><li>2</li><li>3</li>';
    var arr = jQuery.parseHTML(str);  //['li','li','li']
    alert(arr[0]);
    $.each(arr,function(i){
        $('ul').append( arr[i] );
    });
    
    
    var str1 = '<li>1</li><li>2</li><li>3</li> <script>alert(4)<\/script>';
    var arr1 = jQuery.parseHTML(str,document,true));
    $.each(arr,function(i){
        $('ul').append( arr[i] );
    });
    
    
    var arr = ['a','b'];
    var arr1 = {
        0 : 'a',
        1 : 'b',
        length : 2
    };
    var arr2 = ['c','b'];
    console.log( $.merge(arr,arr2) );//数组合并[a,b,c,d]
    console.log( $.merge(arr1,arr2) );//json合并{0,:a,1:b,2:c,3:d}
    
    
    $('<li></li>',{title : 'hi',html : 'abcd',css : {background:'red'}}).appendTo( 'ul' );
    //html:'abcd',调用this.html('abcd')方法
});

</script>
</head>

<body>
<ul>
</ul>
</body>
</html>

 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script src="jquery-2.0.3.js"></script>
<script>

//rootjQuery : $(document)

$(document).find('ul li.box');   //find -> sizzle

$('ul',document).find('li');  else : jQuery(document).find();
$('ul',$(document)).find('li'); if : jQuery(document).find();

$(function(){});

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

$('#div1')  <-  $( $('#div1') )

$(function(){
    
    var aDiv = document.getElementsByTagName('div');//aDiv是一个数组,但是不是真正的数组,不能用数组的方法,makeArray可以转成真正的数组,
    $.makeArray(aDiv).push();
    //$.makeArray(aDiv)返回的书数组[div,div,div]
    //makeArray()第二个参数是json,makeArray返回的就不是数组,是json,{0:div,1:div,2:div},
    console.log( $.makeArray(aDiv,{length:0}) );
    
});

</script>
</head>

<body>
<div></div>
<div></div>
<div></div>
</body>
</html>

 

posted @ 2017-05-25 01:45  无天666  阅读(235)  评论(0编辑  收藏  举报