Jquery屬性的獲取/設置及樣式添加/刪除操作技巧分析
本文實例講述了Jquery屬性的獲取/設置及樣式添加/刪除操作技巧。分享給大家供大家參考,具體如下:
Jquery屬性的獲取與設置
//找到第一個input,通過attr設置屬性value的值 $("input:first").attr('value','新設值'); //同時為多個屬性賦值 $("input:first").attr({'attr1':'v1','attr2':'v2'...}); //找到最后一個input,通過使用removeAttr刪除屬性 $("input:last").removeAttr('value'); //得到.first-div內的文本,并以此來設置最后一個p內的文本 $('p:last').text( $(".first-div").text() ) //.html() 不傳入值,就是獲取.first-div類的HTML內容,不僅僅是文本 //.html( htmlString ) 用之前得到的內容來設置第一個p標簽的html內容 $('p:first').html( $(".first-div").html() ) ; //.val()獲取表單id為single元素的值 $("p").text( $("#single").val() ); //設置表單text字段內的值 $("input[type='text']").val('修改表單的字段')
.html(),.text(),.val()三種方法都是用來讀取選定元素的內容;只不過.html()是用來讀取元素的html內容(包括html標簽),.text()用來讀取元素的純文本內容,包括其子元素,.val()是用來讀取表單元素的"value"值。其中.html()和.text()方法不能使用在表單元素上,而.val()只能使用在表單元素上;另外.html()方法使用在多個元素上時,只讀取第一個元素;.val()方法和.html()相同,如果其應用在多個元素上時,只讀取第一個表單元素的"value"值,但是.text()和他們不一樣,如果.text()應用在多個元素上時,將會讀取所有選中元素的文本內容。.html(htmlString),.text(textString)和.val(value)三種方法都是用來替換選中元素的內容,如果三個方法同時運用在多個元素上時,那么將會替換所有選中元素的內容。.html(),.text(),.val()都可以使用回調函數(shù)的返回值來動態(tài)的改變多個元素的內容。
JQuery添加與刪除樣式
//為class=left下的div元素增加一個新樣式 $('.left div').addClass('newClass') //找到所有的div,然后通過addClass函數(shù)增加類名 $("div").addClass(function(index,className) { //找到類名中包含imooc的元素,為其添加類名 if(-1 !== className.indexOf('imooc')){ $(this).addClass('imoocClass') //this指向匹配元素集合中的當前元素 } }); //class=left下div元素刪除newClass樣式 $('.left div').removeClass('newClass'); //如果該元素存在該類名就去除,否則就添加 $('.left div').toggleClass('newClass'); //獲取class=first的字體大小樣式值 $('p:eq(1)').text( $('.first').css("font-size")); //獲取一組屬性值并返回為一個對象 var value = $('.first').css(['width','height']); //通過對象訪問到對應的值 document.write( "widht:" + value.width + " height:" +value.height) ; //設置樣式屬性值 $('.fourth').css("background-color","red"); //設置多個屬性值 $('.seventh').css({ 'font-size' :"15px", "background-color" :"#40E0D0" });
addClass與css兩個方法均用于操作頁面樣式,兩者比較。
可維護性:.addClass()的本質是通過定義個class類的樣式規(guī)則,給元素添加一個或多個類。css方法是通過JavaScript改變元素的樣式。通過.addClass()我們可以批量的給相同的元素設置統(tǒng)一規(guī)則,變動起來比較方便,可以統(tǒng)一修改刪除。如果通過.css()方法就需要指定每一個元素一一修改,比較麻煩。
靈活性:通過.css()方式可以很容易動態(tài)的去改變具體一個元素的屬性,不需要繁瑣的定義一個class類的規(guī)則。一般來說在不確定開始布局規(guī)則,通過動態(tài)生成的HTML代碼結構中,都是通過.css()方法處理的。
樣式值:.addClass()本質只是針對class的類的增加刪除,不能獲取到指定樣式的屬性的值,.css()可以獲取到指定的樣式值。
樣式的優(yōu)先級:css的樣式是有優(yōu)先級的,當外部樣式、內部樣式和內聯(lián)樣式同一樣式規(guī)則同時應用于同一個元素的時候,優(yōu)先級如下:外部樣式 < 內部樣式 < 內聯(lián)樣式。
.addClass()方法是通過增加class名的方式,那么這個樣式是在外部文件或者內部樣式中先定義好的,等到需要的時候在附加到元素上,通過.css()方法處理的是內聯(lián)樣式,直接通過元素的style屬性附加到元素上的通過.css方法設置的樣式屬性優(yōu)先級要高于.addClass()方法
總結:
.addClass與.css方法各有利弊,一般若是靜態(tài)的結構,且確定了布局的規(guī)則,可以用addClass的方法,增加統(tǒng)一類規(guī)則。如果是動態(tài)的HTML結構,在不確定規(guī)則,或者經常變化的情況下,一般多考慮.css()方式
更多關于jQuery相關內容還可查看本站專題:《jQuery操作DOM節(jié)點方法總結》、《jQuery遍歷算法與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
相關文章
分享2個jQuery插件--jquery.fileupload與artdialog
這篇文章主要介紹了分享2個jQuery插件--jquery.fileupload與artdialog的使用方法及示例,非常的實用,這里推薦給大家。2014-12-12獲取select的value、text值的簡單示例(jquery與javascript)
本篇文章主要分享了獲取select的value、text值的簡單示例代碼,代碼簡潔明了,有需要的朋友可以參考下2016-12-12基于jQuery實現(xiàn)Ajax驗證用戶名是否可用實例
這篇文章主要為大家詳細介紹了基于jQuery實現(xiàn)Ajax驗證用戶名是否可用實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03jQuery EasyUI 菜單與按鈕之創(chuàng)建簡單的菜單和鏈接按鈕
這篇文章主要介紹了jQuery EasyUI 菜單與按鈕之創(chuàng)建簡單的菜單和鏈接按鈕,需要的朋友可以參考下2015-11-11jQuery頭像裁剪工具jcrop用法實例(附演示與demo源碼下載)
這篇文章主要介紹了jQuery頭像裁剪工具jcrop用法,結合實例形式分析了jQuery頭像裁剪工具jquery.jcrop.js具體使用技巧,并附帶了完整的demo源碼供讀者下載參考,需要的朋友可以參考下2016-01-01基于JSON格式數(shù)據(jù)的簡單jQuery幻燈片插件(jquery-slider)
jquery-slider幻燈片插件通過json數(shù)據(jù)來提供圖片地址和描述信息,同時也可以更換json數(shù)據(jù)來動態(tài)切換不同的圖片,對json數(shù)據(jù)jquery幻燈片插件相關知識感興趣的朋友一起學習吧2016-08-08