jquery使用經驗小結,jquery經驗小結

來源:互聯網
上載者:User

jquery使用經驗小結,jquery經驗小結

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

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

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

<!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對象代碼如下:

//擷取DOM對象var div1 = document.getElementById("div1");div1.innerHTML = "oec2003";

擷取jQuery對象代碼如下:

//擷取jQuery對象var div1 = $("#div1");div1.html("oec2003");

jQuery對象轉DOM對象

//因為ajQuery對象是一個數組對象,所以轉換為DOM對象時要用索引的形式var $div1 = $("#div1"); //jQuery對象var div1 = $div1[0]; //轉換為了DOM對象var div2 = $div1.get(0); //和上面一行效果一樣div1.innerHTML = "oec2003";

DOM對象轉jQuery對象

//DOM對象轉jQuery只需用$封裝即可var div1 = document.getElementById("div1");var $div1 = $(div1); //轉換為了jQuery對象$div1.html("oec2003");

5.解決衝突

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

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

複製代碼 代碼如下:
<script type="text/javascript" src="Scripts/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="Scripts/common.js"></script>

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

function $(id) {  return document.getElementById(id);}

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

//方式1jQuery.noConflict(); //將$控制權移交出去,以前使用$的地方都改用jQueryjQuery(document).ready(function () {  alert(jQuery("#span1").html());});window.onload = function () {  $("span1").innerHTML = "oec2003";}//方式2var $j=jQuery.noConflict(); //定義捷徑$j(document).ready(function () {  alert($j("#span1").html());});window.onload = function () {  $("span1").innerHTML = "oec2003";}//方式3jQuery.noConflict(); //在函數內部繼續使用$jQuery(function ($) {  alert($("#span1").html());});window.onload = function () {  $("span1").innerHTML = "oec2003";}//方式4jQuery.noConflict(); //在函數內部繼續使用$另一種方式(function ($) {  $(function(){    alert($("#span1").html());  });})(jQuery);window.onload = function () {  $("span1").innerHTML = "oec2003";}

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

//如果先引用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.