jQuery核心之jQuery Object及其相关的常用方法

1、jQuery Object 和 原生的DOM对象之间有许多方法是不一样的,用jQuery的方法大部分情况下返回的是jQuery Object,但是jQuery也提供了一些方法可以很轻松的获取原生的DOM对象。

先来看:获取jQuery Object之一,


// Selecting only the first <h1> element on the page (in a jQuery object)

 

var headings = $( "h1" );

 

var firstHeading = headings.eq( 0 );

这里主要是因为headings里面包含有多个jQuery Object,所以用这个方法来获取特定的jQuery Object。

获取DOM 对象:

法1、


// Selecting only the first <h1> element on the page.

 

var firstHeadingElem = $( "h1" ).get( 0 );

法2、


// Selecting only the first <h1> element on the page (alternate approach).

 

var firstHeadingElem = $( "h1" )[ 0 ];

通过这两种方法获取的对象是原生DOM 对象,所以它有innerHTML,appendChild,等原生的js方法,但是没有jQuery特有的html(),after()等方法

还得注意:每一个通过选择器获取的jQuery Object是独一无二的,也就是它们之间的===关系总是返回false.

alert( $( "#logo" ) === $( "#logo" ) ); // alerts "false"

但是:用get()方法却可以获取同一个DOM 元素 ,此时它们之间的===关系返回true.

alert( $( "#logo" ).get(0) === $( "#logo" ).get(0) );

为了更好的区分jQuery Object和 native DOM Object 可以把$加在jQuery Object面前来标识它,这样使得代码更加容易阅读


// Comparing DOM elements (with more readable variable names).

 

var $logo1 = $( "#logo" );

var logo1 = $logo1.get( 0 );

 

var $logo2 = $( "#logo" );

var logo2 = $logo2.get( 0 );

 

alert( logo1 === logo2 ); // alerts "true" 

2、遍历


<div class="grandparent">

    <div class="parent">

        <div class="child">

            <span class="subchild"></span>

        </div>

    </div>

    <div class="surrogateParent1"></div>

    <div class="surrogateParent2"></div>

</div> 

parent方法(获取父级元素):


// Selecting an element‘s direct parent:

 

// returns [ div.child ]

$( "span.subchild" ).parent();

 

// Selecting all the parents of an element that match a given selector:

 

// returns [ div.parent ]

$( "span.subchild" ).parents( "div.parent" );

 

// returns [ div.child, div.parent, div.grandparent ]

$( "span.subchild" ).parents();

 

// Selecting all the parents of an element up to, but *not including* the selector:

 

// returns [ div.child, div.parent ]

$( "span.subchild" ).parentsUntil( "div.grandparent" );

 

// Selecting the closest parent, note that only one parent will be selected

// and that the initial element itself is included in the search:

 

// returns [ div.child ]

$( "span.subchild" ).closest( "div" );

 

// returns [ div.child ] as the selector is also included in the search:

$( "div.child" ).closest( "div" ); 

children方法(获取子孙元素):


// Selecting an element‘s direct children:

 

// returns [ div.parent, div.surrogateParent1, div.surrogateParent2 ]

$( "div.grandparent" ).children( "div" );

 

// Finding all elements within a selection that match the selector:

 

// returns [ div.child, div.parent, div.surrogateParent1, div.surrogateParent2 ]

$( "div.grandparent" ).find( "div" ); 

siblings方法(获取同级元素):

注意元素里面的顺序


// Selecting a next sibling of the selectors:

 

// returns [ div.surrogateParent1 ]

$( "div.parent" ).next();

 

// Selecting a prev sibling of the selectors:

 

// returns [] as No sibling exists before div.parent

$( "div.parent" ).prev();

 

// Selecting all the next siblings of the selector:

 

// returns [ div.surrogateParent1, div.surrogateParent2 ]

$( "div.parent" ).nextAll();

 

// returns [ div.surrogateParent1 ]

$( "div.parent" ).nextAll().first();

 

// returns [ div.surrogateParent2 ]

$( "div.parent" ).nextAll().last();

 

// Selecting all the previous siblings of the selector:

 

// returns [ div.surrogateParent1, div.parent ]

$( "div.surrogateParent2" ).prevAll();

 

// returns [ div.surrogateParent1 ]

$( "div.surrogateParent2" ).prevAll().first();

 

// returns [ div.parent ]

$( "div.surrogateParent2" ).prevAll().last(); 

获取同级(除自己以外)的所有元素


// Selecting an element‘s siblings in both directions that matches the given selector:

 

// returns [ div.surrogateParent1, div.surrogateParent2 ]

$( "div.parent" ).siblings();

 

// returns [ div.parent, div.surrogateParent2 ]

$( "div.surrogateParent1" ).siblings(); 

3、CSS样式及其尺寸:

还有设置css的方法:

$("h1").css("color":"ffffff");

$("h1").css(

{

"background-color":"#6699cc";

}

)

等。

增加删除CSS样式类:


// Working with classes.

 

var h1 = $( "h1" );

 

h1.addClass( "big" );

h1.removeClass( "big" );

h1.toggleClass( "big" );

 

if ( h1.hasClass( "big" ) ) {

    ...

}

addClass() 增加样式类

removeClass() 删除样式类

toggleClass("a") 如果样式类a存在,那么就删除样式类a,如果它不存在,那么就增加样式类a(起到一个样式切换的效果)

尺寸:


// Basic dimensions methods.

 

// Sets the width of all <h1> elements.

$( "h1" ).width( "50px" );

 

// Gets the width of the first <h1> element.

$( "h1" ).width();

 

// Sets the height of all <h1> elements.

$( "h1" ).height( "50px" );

 

// Gets the height of the first <h1> element.

$( "h1" ).height();

 

 

// Returns an object containing position information for

// the first <h1> relative to its "offset (positioned) parent".

$( "h1" ).position(); 

4、数据方法(Data methods)


// Storing and retrieving data related to an element.

 

$( "#myDiv" ).data( "keyName", { foo: "bar" } );

 

$( "#myDiv" ).data( "keyName" ); // Returns { foo: "bar" }

// Storing a relationship between elements using .data()

 

$( "#myList li" ).each(function() {

 

    var li = $( this );

    var div = li.find( "div.content" );

 

    li.data( "contentDiv", div );

 

});

 

// Later, we don‘t have to find the div again;

// we can just read it from the list item‘s data

var firstLi = $( "#myList li:first" );

 

firstLi.data( "contentDiv" ).html( "new content" );

来自为知笔记(Wiz)

jQuery核心之jQuery Object及其相关的常用方法

时间: 2024-10-11 23:02:29

jQuery核心之jQuery Object及其相关的常用方法的相关文章

Jquery核心函数

在Jquery中,所有的DOM对象都将封装成Jquery对象,而且只有Jquery对象才能使用Jquery方法或者属性来执行相应的操作. 所以Jquery提供了一个可以将DOM对象封装成Jquery对象的函数,就是Jquery核心函数jquery(),也称为工厂函数. jquery核心函数有7个重载,分别如下: jquery()  该函数返回一个空的jquery对象. jquery(elements)  该函数将一个或多个DOM元素转化为Jquery对象(或jquery集合) jquery(ca

JQuery 核心函数 基础研究与提高

前言 jquery对于一个程序员来说,或多或少都听过.相信很多人在项目中也都用过.现在也有很多开源的库都是依赖于jQuery,因此熟悉jQuery还是很有必要的.使用熟练的大神可以简单看看,对于小白来说还是纯纯的干货.熟悉jQuery还是先从核心函数入手比较好,后面其他的功能都是在此核心函数的基础上扩展的. jQuery 核心函数 jQuery(expression, [context]) jQuery(html, [ownerDocument]) jQuery(html, props) jQu

jQuery核心之DOM操作的常用方法

参考jQuery官网API文档 1..attr() 获取 : $( "a" ).attr( "href" ); 设置: $( "a" ).attr( "href", "allMyHrefsAreTheSameNow.html" ); $( "a" ).attr({ title: "all titles are the same too!", href: "s

jQuery 核心

1.each(callback) 以每一个匹配的元素作为上下文来执行一个函数.意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素).而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型). 返回 'false' 将停止循环 (就像在普通的循环中使用 'break').返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue'). 参数:callba

jquery核心功能分析

作者:zccst 核心功能包括: jQuery是如何定义的,如何调用的,如何扩展的.掌握核心方法是如何实现的,是理解jQuery源码的关键.这里理解了一切豁然开朗. 1,如何定义,即入口 // Define a local copy of jQueryvar jQuery = function( selector, context ) {    // The jQuery object is actually just the init constructor 'enhanced'    ret

JQuery DOM元素方法跟JQuery 核心函数跟JQuery 事件方法

JQuery DOM 元素 函数                            描述 .get()                           从队列中删除所有未运行的项目. .index()                        存储与指定元素相关的任意数据. .size()                          存储与匹配元素相关的任意数据. .toArray()                     从队列最前端移除一个队列函数,并执行它. JQuer

jQuery学习笔记——jQuery基础核心

代码风格 在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号“$”来起始的.而这个“$”就是jQuery当中最重要且独有的对象:jQuery对象,所以我们在页面元素选择或执行功能函数的时候可以这么写: $(function () {}); //执行一个匿名函数 $(‘#box’);//进行执行的ID元素选择 $(‘#box’).css(‘color’, ‘red’);//执行功能函数由于$本身就是jQuery对象的缩写形式,那么也就是说上面的三段代码也可以写成如下形式:jQ

jQuery核心之 $

参考jQuery官网API文档 $ 和 $() 的区别很重要: 1.$(document).ready() 和 $(document).load() 的 区别: 前者等到DOM准备好了之后就会触发,后者必须等到整个网页(包括图片,iframe)准备好了才触发. $(function(){ alert("hello jquery"); }); 是 $(document).ready(function(){ alert("hello jquery"); })的缩写. 2

jQuery 核心01

jQuery.contains( container,contained ) 检查一个DOM元素是否为另一个元素的后代.只要是后代$.contains()就返回 true ,负责返回 false . $.contains( document.documentElement, document.body ); // true $.contains( document.body, document.documentElement ); // false jQuery.each( collection