溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Jquery屬性中獲取與設(shè)置的示例分析

發(fā)布時(shí)間:2021-05-11 14:24:17 來(lái)源:億速云 閱讀:107 作者:小新 欄目:web開(kāi)發(fā)

這篇文章給大家分享的是有關(guān)Jquery屬性中獲取與設(shè)置的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

jquery是什么

jquery是一個(gè)簡(jiǎn)潔而快速的JavaScript庫(kù),它具有獨(dú)特的鏈?zhǔn)秸Z(yǔ)法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對(duì)CSS選擇器進(jìn)行擴(kuò)展、擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件,是繼Prototype之后又一個(gè)優(yōu)秀的JavaScript代碼庫(kù),能夠用于簡(jiǎn)化事件處理、HTML文檔遍歷、Ajax交互和動(dòng)畫(huà),以便快速開(kāi)發(fā)網(wǎng)站。

Jquery屬性的獲取與設(shè)置

//找到第一個(gè)input,通過(guò)attr設(shè)置屬性value的值
$("input:first").attr('value','新設(shè)值');
//同時(shí)為多個(gè)屬性賦值
$("input:first").attr({'attr1':'v1','attr2':'v2'...});
//找到最后一個(gè)input,通過(guò)使用removeAttr刪除屬性
$("input:last").removeAttr('value');

//得到.first-div內(nèi)的文本,并以此來(lái)設(shè)置最后一個(gè)p內(nèi)的文本
$('p:last').text( $(".first-div").text() )
//.html() 不傳入值,就是獲取.first-div類的HTML內(nèi)容,不僅僅是文本
//.html( htmlString ) 用之前得到的內(nèi)容來(lái)設(shè)置第一個(gè)p標(biāo)簽的html內(nèi)容
$('p:first').html( $(".first-div").html() ) ;

//.val()獲取表單id為single元素的值
$("p").text( $("#single").val() );
//設(shè)置表單text字段內(nèi)的值
$("input[type='text']").val('修改表單的字段')

.html(),.text(),.val()三種方法都是用來(lái)讀取選定元素的內(nèi)容;只不過(guò).html()是用來(lái)讀取元素的html內(nèi)容(包括html標(biāo)簽),.text()用來(lái)讀取元素的純文本內(nèi)容,包括其子元素,.val()是用來(lái)讀取表單元素的"value"值。其中.html()和.text()方法不能使用在表單元素上,而.val()只能使用在表單元素上;另外.html()方法使用在多個(gè)元素上時(shí),只讀取第一個(gè)元素;.val()方法和.html()相同,如果其應(yīng)用在多個(gè)元素上時(shí),只讀取第一個(gè)表單元素的"value"值,但是.text()和他們不一樣,如果.text()應(yīng)用在多個(gè)元素上時(shí),將會(huì)讀取所有選中元素的文本內(nèi)容。.html(htmlString),.text(textString)和.val(value)三種方法都是用來(lái)替換選中元素的內(nèi)容,如果三個(gè)方法同時(shí)運(yùn)用在多個(gè)元素上時(shí),那么將會(huì)替換所有選中元素的內(nèi)容。.html(),.text(),.val()都可以使用回調(diào)函數(shù)的返回值來(lái)動(dòng)態(tài)的改變多個(gè)元素的內(nèi)容。

JQuery添加與刪除樣式

//為class=left下的div元素增加一個(gè)新樣式
$('.left div').addClass('newClass')

//找到所有的div,然后通過(guò)addClass函數(shù)增加類名
$("div").addClass(function(index,className) {
 //找到類名中包含imooc的元素,為其添加類名
 if(-1 !== className.indexOf('imooc')){
  $(this).addClass('imoocClass') //this指向匹配元素集合中的當(dāng)前元素
 }
});

//class=left下div元素刪除newClass樣式
$('.left div').removeClass('newClass');

//如果該元素存在該類名就去除,否則就添加
$('.left div').toggleClass('newClass');

//獲取class=first的字體大小樣式值
$('p:eq(1)').text( $('.first').css("font-size"));
//獲取一組屬性值并返回為一個(gè)對(duì)象
var value = $('.first').css(['width','height']);
//通過(guò)對(duì)象訪問(wèn)到對(duì)應(yīng)的值
document.write( "widht:" + value.width + " height:" +value.height) ;
//設(shè)置樣式屬性值
$('.fourth').css("background-color","red");
//設(shè)置多個(gè)屬性值
$('.seventh').css({
 'font-size'  :"15px",
 "background-color" :"#40E0D0"
});

addClass與css兩個(gè)方法均用于操作頁(yè)面樣式,兩者比較。

可維護(hù)性:.addClass()的本質(zhì)是通過(guò)定義個(gè)class類的樣式規(guī)則,給元素添加一個(gè)或多個(gè)類。css方法是通過(guò)JavaScript改變?cè)氐臉邮?。通過(guò).addClass()我們可以批量的給相同的元素設(shè)置統(tǒng)一規(guī)則,變動(dòng)起來(lái)比較方便,可以統(tǒng)一修改刪除。如果通過(guò).css()方法就需要指定每一個(gè)元素一一修改,比較麻煩。

靈活性:通過(guò).css()方式可以很容易動(dòng)態(tài)的去改變具體一個(gè)元素的屬性,不需要繁瑣的定義一個(gè)class類的規(guī)則。一般來(lái)說(shuō)在不確定開(kāi)始布局規(guī)則,通過(guò)動(dòng)態(tài)生成的HTML代碼結(jié)構(gòu)中,都是通過(guò).css()方法處理的。

樣式值:.addClass()本質(zhì)只是針對(duì)class的類的增加刪除,不能獲取到指定樣式的屬性的值,.css()可以獲取到指定的樣式值。

樣式的優(yōu)先級(jí):css的樣式是有優(yōu)先級(jí)的,當(dāng)外部樣式、內(nèi)部樣式和內(nèi)聯(lián)樣式同一樣式規(guī)則同時(shí)應(yīng)用于同一個(gè)元素的時(shí)候,優(yōu)先級(jí)如下:外部樣式 < 內(nèi)部樣式 < 內(nèi)聯(lián)樣式。

.addClass()方法是通過(guò)增加class名的方式,那么這個(gè)樣式是在外部文件或者內(nèi)部樣式中先定義好的,等到需要的時(shí)候在附加到元素上,通過(guò).css()方法處理的是內(nèi)聯(lián)樣式,直接通過(guò)元素的style屬性附加到元素上的通過(guò).css方法設(shè)置的樣式屬性優(yōu)先級(jí)要高于.addClass()方法

總結(jié)

.addClass與.css方法各有利弊,一般若是靜態(tài)的結(jié)構(gòu),且確定了布局的規(guī)則,可以用addClass的方法,增加統(tǒng)一類規(guī)則。如果是動(dòng)態(tài)的HTML結(jié)構(gòu),在不確定規(guī)則,或者經(jīng)常變化的情況下,一般多考慮.css()方式

感謝各位的閱讀!關(guān)于“Jquery屬性中獲取與設(shè)置的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI