首頁 >web前端 >js教程 >jquery使用經驗小結_jquery

jquery使用經驗小結_jquery

WBOY
WBOY原創
2016-05-16 15:58:271074瀏覽

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函式庫在其他函式庫之後引用,如下圖:

複製程式碼 程式碼如下:




在common.js中有對$重新定義,程式碼如下:
function $(id) {

  return document.getElementById(id);
}

以下是在jQuery解決衝突的程式碼,有四種方式:

//方式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函式庫在其他函式庫之前使用

//如果先引用jQuery脚本,可以不使用noConflict
//jQuery.noConflict(); 
jQuery(document).ready(function () {
  alert(jQuery("#span1").html());
});
window.onload = function () {
  $("span1").innerHTML = "oec2003";
}

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn