jquery使用經驗小結

來源:互聯網
上載者:User

jquery使用經驗小結

   本文給大家分享的是個人在使用jQuery的過程中總結的5點比較重要的知識點,這裡推薦給小夥伴們,有需要的童鞋可以參考下。

  1,今天發現jquery擷取的dom對象除了jquery對象外,還可以訪問原來的對象,只要加一個[]就行了,原來還有這樣的功能,之前沒仔細研究。

  2,用了first-child,nth-child(n),擷取元素集合裡面的第幾個元素。

  3,用Jquery訪問nodeText節點,通過訪問原來的對象,nextSibling訪問。訪問是nextSibling.nodeValue;

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>Zephyr's Document</title>

<script src="http://common.cnblogs.com/script/jquery.js"></script>

<style type="text/css" media="screen">

/*<![CDATA[*/

 

/*]]>*/

</style>

<script type="text/javascript">

$(function(){

var tempBr=$("br");

tempBr.each(function(index,doElem){

doElem.nextSibling.nodeValue=doElem.nextSibling.nodeValue.replace(/\s{6}/g,"");

})})

</script>

</head>

<body>

asdf

<br />

" asdf"

<br />

" asdf"

<br />

" asdf"

</body>

</html>

  4.DOM對象和jQuery對象轉換

  擷取DOM對象代碼如下:

  ?

1

2

3

//擷取DOM對象

var div1 = document.getElementById("div1");

div1.innerHTML = "oec2003";

  擷取jQuery對象代碼如下:

  ?

1

2

3

//擷取jQuery對象

var div1 = $("#div1");

div1.html("oec2003");

  jQuery對象轉DOM對象

  ?

1

2

3

4

5

//因為ajQuery對象是一個數組對象,所以轉換為DOM對象時要用索引的形式

var $div1 = $("#div1"); //jQuery對象

var div1 = $div1[0]; //轉換為了DOM對象

var div2 = $div1.get(0); //和上面一行效果一樣

div1.innerHTML = "oec2003";

  DOM對象轉jQuery對象

  ?

1

2

3

4

//DOM對象轉jQuery只需用$封裝即可

var div1 = document.getElementById("div1");

var $div1 = $(div1); //轉換為了jQuery對象

$div1.html("oec2003");

  5.解決衝突

  有時會有jQuery和其他的庫或自己寫的一些公用指令檔一起使用的情境,就有可能會出現$衝突的問題,衝突的解決分兩種情況:

  1、jQuery庫在其他庫之後引用,如下所示:

  複製代碼 代碼如下:

  

  

  在common.js中有對$重新定義,代碼如下:

  ?

1

2

3

4

function $(id) {

 

return document.getElementById(id);

}

  下面是在jQuery中解決衝突的代碼,有四種方式:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

//方式1

jQuery.noConflict(); //將$控制權移交出去,以前使用$的地方都改用jQuery

jQuery(document).ready(function () {

alert(jQuery("#span1").html());

});

window.onload = function () {

$("span1").innerHTML = "oec2003";

}

 

//方式2

var $j=jQuery.noConflict(); //定義捷徑

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

alert($j("#span1").html());

});

 

window.onload = function () {

$("span1").innerHTML = "oec2003";

}

 

//方式3

jQuery.noConflict(); //在函數內部繼續使用$

jQuery(function ($) {

alert($("#span1").html());

});

window.onload = function () {

$("span1").innerHTML = "oec2003";

}

 

//方式4

jQuery.noConflict(); //在函數內部繼續使用$另一種方式

(function ($) {

$(function(){

alert($("#span1").html());

});

})(jQuery);

window.onload = function () {

$("span1").innerHTML = "oec2003";

}

  2、jQuery庫在其他庫之前使用

  ?

1

2

3

4

5

6

7

8

//如果先引用jQuery指令碼,可以不使用noConflict

//jQuery.noConflict();

jQuery(document).ready(function () {

alert(jQuery("#span1").html());

});

window.onload = function () {

$("span1").innerHTML = "oec2003";

}

  以上所述就是本文給大家分享的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.