jQuery基礎(樣式篇,DOM對象,選取器,屬性樣式)

來源:互聯網
上載者:User

標籤:資訊   存在   處理   select   切換   text   ogg   sel   封裝   

 1. $(document).ready 的作用是等頁面的文檔(document)中的節點都載入完畢後,再執行後續的代碼,因為我們在執行代碼的時候,可能會依賴頁面的某一個元素,我們要確保這個元素真正的的被載入完畢後才能正確的使用。    $(document).ready(function() {   內容  });  1.jQuery對象與DOM對象  jQuery對象與DOM對象是不一樣的  普通處理,通過標準JavaScript處理: var p = document.getElementById(‘imooc‘);p.innerHTML = ‘您好!通過慕課網學習jQuery才是最佳的途徑‘;p.style.color = ‘red‘;  jQuery的處理: var $p = $(‘#imooc‘);
$p.html(‘您好!通過慕課網學習jQuery才是最佳的途徑‘).css(‘color‘,‘red‘);

 通過$(‘#imooc‘)方法會得到一個$p的jQuery對象,$p是一個類數組對象。這個對象裡麵包含了DOM對象的資訊,然後封裝了很多操作方法,調用自己的方法html與css,得到的效果與標準的JavaScript處理結果是一致的。  2.如何把jQuery對象轉成DOM對象?  var $div = $(‘div‘) //jQuery對象
var div = $div[0] //轉化成DOM對象div.style.color = ‘red‘ //操作dom對象的屬性   3.DOM對象轉化成jQuery對象 var div = document.getElementsByTagName(‘div‘); //dom對象
var $div = $(div); //jQuery對象
var $first = $div.first(); //找到第一個div元素$first.css(‘color‘, ‘red‘); //給第一個元素設定顏色  4. jQuery選取器之id選取器】 $( "#id" )  5. jQuery選取器之類別選取器 $( ".class" ) 6.jQuery選取器之元素選取器 $( "element" ) 7.jQuery選取器之全選取器(*選取器) $( "*" ) 8.jQuery選取器之層級選取器 

 

 9.jQuery選取器之基本篩選選取器 

 

  10.jQuery選取器之內容篩選選取器  

 

  11.jQuery選取器之可見度篩選選取器

 

  12.jQuery選取器之屬性篩選選取器  

 

  13.jQuery選取器之特殊選取器this  換成jQuery的做法: $(‘p‘).click(function(){
    //把p元素轉化成jQuery的對象
    var $this= $(this)
    $this.css(‘color‘,‘red‘)}) this,表示當前的內容物件是一個html對象,可以調用html對象所擁有的屬性和方法。
$(this),代表的內容物件是一個jquery的內容物件,可以調用jQuery的方法和屬性值。
  14.jQuery的屬性與樣式之.attr()與.removeAttr()  attr()有4個運算式  - attr(傳入屬性名稱):擷取屬性的值- attr(屬性名稱, 屬性值):設定屬性的值- attr(屬性名稱,函數值):設定屬性的函數值- attr(attributes):給指定元素設定多個屬性值,即:{屬性名稱一: “屬性值一” , 屬性名稱二: “屬性值二” , … … }  removeAttr()刪除方法 .removeAttr( attributeName ) : 為匹配的元素集合中的每個元素中移除一個屬性(attribute)  15.jQuery的屬性與樣式之html()及.text()  .html()方法 擷取集合中第一個匹配元素的HTML內容 或 設定每一個匹配元素的html內容,具體有3種用法: - .html() 不傳入值,就是擷取集合中第一個匹配元素的HTML內容- .html( htmlString )  設定每一個匹配元素的html內容- .html( function(index, oldhtml) ) 用來返回設定HTML內容的一個函數  .text()方法 得到匹配元素集合中每個元素的常值內容結合,包括他們的後代,或設定匹配元素集合中每個元素的常值內容為指定的常值內容。,具體有3種用法: - .text() 得到匹配元素集合中每個元素的合并文本,包括他們的後代- .text( textString ) 用於設定匹配元素內容的文本- .text( function(index, text) ) 用來返回設定常值內容的一個函數   16.jQuery的屬性與樣式之.val()  jQuery中有一個.val()方法主要是用於處理表單元素的值,比如 input, select 和 textarea。  - .html(),.text(),.val()都可以使用回呼函數的傳回值來動態改變多個元素的內容。  .val()方法 - .val()無參數,擷取匹配的元素集合中第一個元素的當前值- .val( value ),設定匹配的元素集合中每個元素的值- .val( function ) ,一個用來返回設定值的函數   注意事項: - 通過.val()處理select元素, 當沒有選擇項被選中,它返回null- .val()方法多用來設定表單的欄位的值- 如果select元素有multiple(多選)屬性,並且至少一個選擇項被選中, .val()方法返回一個數組,這個數組包含每個選中選擇項的值  17.jQuery的屬性與樣式之增加樣式.addClass()   .addClass( className )方法 - .addClass( className ) : 為每個匹配元素所要增加的一個或多個樣式名- .addClass( function(index, currentClass) ) : 這個函數返回一個或更多用空格隔開的要增加的樣式名  注意事項: .addClass()方法不會替換一個樣式類名。它只是簡單的添加一個樣式類名到元素上   18.jQuery的屬性與樣式之刪除樣式.removeClass()  .removeClass( )方法 - .removeClass( [className ] ):每個匹配元素移除的一個或多個用空格隔開的樣式名- .removeClass( function(index, class) ) : 一個函數,返回一個或多個將要被移除的樣式名  19.jQuery的屬性與樣式之轉場樣式.toggleClass()   .toggleClass( )方法:在匹配的元素集合中的每個元素上添加或刪除一個或多個樣式類,取決於這個樣式類是否存在或值切換屬性。即:如果存在(不存在)就刪除(添加)一個類 - .toggleClass( className ):在匹配的元素集合中的每個元素上用來切換的一個或多個(用空格隔開)樣式類名- .toggleClass( className, switch ):一個布爾值,用於判斷樣式是否應該被添加或移除- .toggleClass( [switch ] ):一個用來判斷樣式類添加還是移除的 布爾值- .toggleClass( function(index, class, switch) [, switch ] ):用來返回在匹配的元素集合中的每個元素上用來切換的樣式類名的一個函數。接收元素的索引位置和元素舊的樣式類作為參數  注意事項: - toggleClass是一個互斥的邏輯,也就是通過判斷對應的元素上是否存在指定的Class名,如果有就刪除,如果沒有就增加- toggleClass會保留原有的Class名後新增,通過空格隔開   20.jQuery的屬性與樣式之樣式操作.css()  .css() 方法:擷取元素樣式屬性的計算值或者設定元素的CSS屬性  擷取: - .css( propertyName ) :擷取匹配元素集合中的第一個元素的樣式屬性的計算值- .css( propertyNames ):傳遞一組數組,返回一個對象結果   設定: -  .css(propertyName, value ):設定CSS- .css( propertyName, function ):可以傳入一個回呼函數,返回取到對應的值進行處理- .css( properties ):可以傳一個對象,同時設定多個樣式   注意事項: - 瀏覽器屬性擷取方式不同,在擷取某些值的時候都jQuery採用統一的處理,比如顏色採用RBG,尺寸採用px- .css()方法支援駝峰寫法與大小寫混搭的寫法,內部做了容錯的處理- 當一個數只被作為值(value)的時候, jQuery會將其轉換為一個字串,並添在字串的結尾處添加px,例如 .css("width",50}) 與 .css("width","50px"})一樣     //合并設定,通過對象傳設定多個樣式        $(‘.seventh‘).css({            ‘font-size‘        :"15px",            "background-color" :"#40E0D0",            "border":"1px solid red"        })  21. jQuery的屬性與樣式之.css()與.addClass()設定樣式的區別  可維護性: .addClass()的本質是通過定義個class類的樣式規則,給元素添加一個或多個類。css方法是通過JavaScript大量代碼進行改變元素的樣式 通過.addClass()我們可以批量的給相同的元素設定統一規則,變動起來比較方便,可以統一修改刪除。如果通過.css()方法就需要指定每一個元素是一一的修改,日後維護也要一一的修改,比較麻煩  靈活性: 通過.css()方式可以很容易動態去改變一個樣式的屬性,不需要在去繁瑣的定義個class類的規則。一般來說在不確定開始布局規則,通過動態產生的HTML代碼結構中,都是通過.css()方法處理的  樣式值: .addClass()本質只是針對class的類的增加刪除,不能擷取到指定樣式的屬性的值,.css()可以擷取到指定的樣式值。  樣式的優先順序: css的樣式是有優先順序的,當外部樣式、內部樣式和內聯樣式同一樣式規則同時應用於同一個元素的時候,優先順序如下  外部樣式 < 內部樣式 < 內聯樣式 - .addClass()方法是通過增加class名的方式,那麼這個樣式是在外部檔案或者內部樣式中先定義好的,等到需要的時候在附加到元素上- 通過.css()方法處理的是內聯樣式,直接通過元素的style屬性附加到元素上的  通過.css方法設定的樣式屬性優先順序要高於.addClass方法  總結: .addClass與.css方法各有利弊,一般是靜態結構,都確定了布局的規則,可以用addClass的方法,增加統一的類規則
如果是動態HTML結構,在不確定規則,或者經常變化的情況下,一般多考慮.css()方式 22.jQuery的屬性與樣式之元素的資料存放區  jQuery提供的儲存介面 jQuery.data( element, key, value )   //靜態介面,存資料 jQuery.data( element, key )  //靜態介面,取資料    .data( key, value ) //執行個體介面,存資料 .data( key ) //執行個體介面,存資料2個方法在使用上存取都是通一個介面,傳遞元素,索引值資料。在jQuery的官方文檔中,建議用.data()方法來代替。我們把DOM可以看作一個對象,那麼我們往對象上是可以存在基本類型,參考型別的資料的,但是這裡會引發一個問題,可能會存在循環參考的記憶體流失風險通過jQuery提供的資料介面,就很好的處理了這個問題了,我們不需要關心它底層是如何?,只需要按照對應的data方法使用就行了同樣的也提供2個對應的刪除介面,使用上與data方法其實是一致的,只不過是一個是增加一個是刪除罷了 jQuery.removeData( element [, name ] ).removeData( [name ] )                                    

jQuery基礎(樣式篇,DOM對象,選取器,屬性樣式)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.