-
粉絲點(diǎn)擊發(fā)送低筋粉幾點(diǎn)送
查看全部 -
this,表示當(dāng)前的上下文對(duì)象是一個(gè)html對(duì)象,可以調(diào)用html對(duì)象所擁有的屬性和方法。 $(this),代表的上下文對(duì)象是一個(gè)jquery的上下文對(duì)象,可以調(diào)用jQuery的方法和屬性值。
查看全部 -
元素選擇器
$(?"element"?)
查看全部 -
全選擇器
$(?"*"?)
查看全部 -
類選擇器
$(?".class"?)
查看全部 -
ID選擇器 $(?"#id"?)
查看全部 -
?jQuery提供的存儲(chǔ)接口
jQuery.data(?element,?key,?value?)???//靜態(tài)接口,存數(shù)據(jù) jQuery.data(?element,?key?)??//靜態(tài)接口,取數(shù)據(jù)??? .data(?key,?value?)?//實(shí)例接口,存數(shù)據(jù)//實(shí)例接口,存數(shù)據(jù) eg:靜態(tài)的 ????$('.left').click(function()?{????????var?ele?=?$(this);????????//通過$.data方式設(shè)置數(shù)據(jù)????????$.data(ele,?"a",?"data?test")????????$.data(ele,?"b",?"慕課網(wǎng)"????????)????????//通過$.data方式取出數(shù)據(jù)????????var?reset?=?$.data(ele,?"a")?+?"</br>"?+?$.data(ele,?"b")????????ele.find('span').append(reset)????})
靜態(tài)就是調(diào)用接口本身存在的方法,動(dòng)態(tài)就是自身實(shí)例的方法,這個(gè)實(shí)例實(shí)現(xiàn)了這個(gè)接口定義的方法,理論上來說都是一樣的 eg:實(shí)例的 ?$('.right').click(function()?{????????var?ele?=?$(this);????????//通過.data方式設(shè)置數(shù)據(jù)????????ele.data("a",?"data?test")????????ele.data("b",?{????????????name:?"慕課網(wǎng)"????????})????????//通過.data方式取出數(shù)據(jù)????????var?reset?=?ele.data("a")?+?"</br>"?+?ele.data("b").name????????ele.find('span').append(reset)????})
查看全部 -
.css()與.addClass()設(shè)置樣式的區(qū)別
?可維護(hù)性:
.addClass()的本質(zhì)是通過定義個(gè)class類的樣式規(guī)則,給元素添加一個(gè)或多個(gè)類。css方法是通過JavaScript大量代碼進(jìn)行改變?cè)氐臉邮?/p>
樣式值:
.addClass()本質(zhì)只是針對(duì)class的類的增加刪除,不能獲取到指定樣式的屬性的值,.css()可以獲取到指定的樣式值。
通過.css方法設(shè)置的樣式屬性優(yōu)先級(jí)要高于.addClass方法
查看全部 -
jQuery的屬性與樣式之樣式操作.css()
通過JavaScript獲取dom元素上的style屬性,我們可以動(dòng)態(tài)的給元素賦予樣式屬性。在jQuery中我們要?jiǎng)討B(tài)的修改style屬性我們只要使用css()方法就可以實(shí)現(xiàn)了
.css() 方法:獲取元素樣式屬性的計(jì)算值或者設(shè)置元素的CSS屬性
獲?。?/p>
.css( propertyName ) :獲取匹配元素集合中的第一個(gè)元素的樣式屬性的計(jì)算值
$('p').text( $('.first').css("background-color") )
.css( propertyNames ):傳遞一組數(shù)組,返回一個(gè)對(duì)象結(jié)果
//獲取尺寸,傳入CSS屬性組成的一個(gè)數(shù)組//{width: "60px", height: "60px"}var value = $('.first').css(['width','height']);//因?yàn)楂@取的是一個(gè)對(duì)象,取到對(duì)應(yīng)的值$('p:eq(2)').text( 'widht:' + value.width +? ' height:' +value.height )
設(shè)置:
?.css(propertyName, value ):設(shè)置CSS
$('.fourth').css("background-color","red")
.css( propertyName, function ):可以傳入一個(gè)回調(diào)函數(shù),返回取到對(duì)應(yīng)的值進(jìn)行處理
/獲取到指定元素的寬度,在回調(diào)返回寬度值//通過處理這個(gè)value,重新設(shè)置新的寬度$('.sixth').css("width",function(index,value){
? ?a=value.split('px');? ? return (Number(a[0])+190)+a[1];})
a[1]為空:px?是分隔字符串,px?右邊的內(nèi)容才是 value[1]?的值,所以是空
3..css( properties ):可以傳一個(gè)對(duì)象,同時(shí)設(shè)置多個(gè)樣式
//合并設(shè)置,通過對(duì)象傳設(shè)置多個(gè)樣式$('.seventh').css({
? ? ? ? ? ? 'font-size'? ? ? ? :"15px",
? ? ? ? ? ? "background-color" :"#40E0D0",
? ? ? ? ? ? "border"? ? ? ? ? ?:"1px solid red"
? ? ? ? })
注意事項(xiàng):
瀏覽器屬性獲取方式不同,在獲取某些值的時(shí)候都jQuery采用統(tǒng)一的處理,比如顏色采用RBG,尺寸采用px
.css()方法支持駝峰寫法與大小寫混搭的寫法,內(nèi)部做了容錯(cuò)的處理
//多種寫法設(shè)置字體大小
$('.fourth').css("font-size","15px")
$('.fifth').css("fontSize","0.9em");
當(dāng)一個(gè)數(shù)只被作為值(value)的時(shí)候, jQuery會(huì)將其轉(zhuǎn)換為一個(gè)字符串,并添在字符串的結(jié)尾處添加px,例如 .css("width",50}) 與 .css("width","50px"})一樣
查看全部 -
jQuery的屬性與樣式之切換樣式.toggleClass()
.toggleClass( )方法:在匹配的元素集合中的每個(gè)元素上添加或刪除一個(gè)或多個(gè)樣式類,取決于這個(gè)樣式類是否存在或值切換屬性。即:如果存在(不存在)就刪除(添加)一個(gè)類
.toggleClass( className ):在匹配的元素集合中的每個(gè)元素上用來切換的一個(gè)或多個(gè)(用空格隔開)樣式類名
.toggleClass( className, switch ):一個(gè)布爾值,用于判斷樣式是否應(yīng)該被添加或移除
.toggleClass( [switch ] ):一個(gè)用來判斷樣式類添加還是移除的 布爾值
.toggleClass( function(index, class, switch) [, switch ] ):用來返回在匹配的元素集合中的每個(gè)元素上用來切換的樣式類名的一個(gè)函數(shù)。接收元素的索引位置和元素舊的樣式類作為參數(shù)
eg:
//給所有的tr元素加一個(gè)class="c"的樣式
? ? $("#table tr").toggleClass("c");
//開始所以tr都沒有c樣式,加了之后所以tr都有c樣式
?//給所有的偶數(shù)tr元素切換class="c"的樣式
? ? //所有基數(shù)的樣式保留,偶數(shù)的被刪除
? ? $("#table tr:odd").toggleClass("c");
查看全部 -
.removeClass()
jQuery通過.addClass()方法可以很便捷的增加樣式。如果需要樣式之間的切換,同樣jQuery提供了一個(gè)很方便的.removeClass(),它的作用是從匹配的元素中刪除全部或者指定的class
.removeClass( )方法
.removeClass( [className ] ):每個(gè)匹配元素移除的一個(gè)或多個(gè)用空格隔開的樣式名
.removeClass( function(index, class) ) : 一個(gè)函數(shù),返回一個(gè)或多個(gè)將要被移除的樣式名
注意事項(xiàng)
如果一個(gè)樣式類名作為一個(gè)參數(shù),只有這樣式類會(huì)被從匹配的元素集合中刪除 。 如果沒有樣式名作為參數(shù),那么所有的樣式類將被移除
查看全部 -
.addClass()
當(dāng)一個(gè)節(jié)點(diǎn)(或稱為一個(gè)標(biāo)簽)含有多個(gè)class時(shí),DOM元素響應(yīng)的className屬性獲取的不是class名稱的數(shù)組,而是一個(gè)含有空格的字符串
.addClass( className ) : 為每個(gè)匹配元素所要增加的一個(gè)或多個(gè)樣式名
.addClass( function(index, currentClass) ) : 這個(gè)函數(shù)返回一個(gè)或更多用空格隔開的要增加的樣式名
.addClass()方法不會(huì)替換一個(gè)樣式類名。它只是簡(jiǎn)單的添加一個(gè)樣式類名到元素上
eg:
<p?class="orgClass"> $("p").addClass("newClass")
//p元素的class實(shí)際上是 class="orgClass newClass"樣式只會(huì)在原本的類上繼續(xù)增加,通過空格分隔
查看全部 -
jQuery的屬性與樣式之html()及.text()
.html()方法?
獲取集合中第一個(gè)匹配元素的HTML內(nèi)容 或 設(shè)置每一個(gè)匹配元素的html內(nèi)容,具體有3種用法:
- .html() 不傳入值,就是獲取集合中第一個(gè)匹配元素的HTML內(nèi)容
- .html( htmlString )? 設(shè)置每一個(gè)匹配元素的html內(nèi)容
- .html( function(index, oldhtml) ) 用來返回設(shè)置HTML內(nèi)容的一個(gè)函數(shù)
注意事項(xiàng):
.html()方法內(nèi)部使用的是DOM的innerHTML屬性來處理的,所以在設(shè)置與獲取上需要注意的一個(gè)最重要的問題
.text()方法
得到匹配元素集合中每個(gè)元素的文本內(nèi)容結(jié)合,包括他們的后代,或設(shè)置匹配元素集合中每個(gè)元素的文本內(nèi)容為指定的文本內(nèi)容。,具體有3種用法:
- .text() 得到匹配元素集合中每個(gè)元素的合并文本,包括他們的后代
- .text( textString ) 用于設(shè)置匹配元素內(nèi)容的文本
- .text( function(index, text) ) 用來返回設(shè)置文本內(nèi)容的一個(gè)函數(shù)
注意事項(xiàng):
.text()結(jié)果返回一個(gè)字符串,包含所有匹配元素的合并文本
.html與.text的異同:
- .html與.text的方法操作是一樣,只是在具體針對(duì)處理對(duì)象不同
- .html處理的是元素內(nèi)容,.text處理的是文本內(nèi)容
- .html只能使用在HTML文檔中,.text 在XML 和 HTML 文檔中都能使用
- 如果處理的對(duì)象只有一個(gè)子文本節(jié)點(diǎn),那么html處理的結(jié)果與text是一樣的
- 火狐不支持innerText屬性,用了類似的textContent屬性,.text()方法綜合了2個(gè)屬性的支持,所以可以兼容所有瀏覽器
查看全部 -
jQuery的屬性與樣式之.attr()與.removeAttr()
jQuery中用attr()方法來獲取和設(shè)置元素屬性,attr是attribute(屬性)的縮寫
attr()有4個(gè)表達(dá)式
- attr(傳入屬性名):獲取屬性的值
- attr(屬性名, 屬性值):設(shè)置屬性的值
- attr(屬性名,函數(shù)值):設(shè)置屬性的函數(shù)值
- attr(attributes):給指定元素設(shè)置多個(gè)屬性值,即:{屬性名一: “屬性值一” , 屬性名二: “屬性值二” , … … }
?removeAttr()刪除方法
.removeAttr( attributeName ) : 為匹配的元素集合中的每個(gè)元素中移除一個(gè)屬性(attribute)
優(yōu)點(diǎn):
attr、removeAttr都是jQuery為了屬性操作封裝的,直接在一個(gè) jQuery 對(duì)象上調(diào)用該方法,很容易對(duì)屬性進(jìn)行操作,也不需要去特意的理解瀏覽器的屬性名不同的問題
?注意的問題:
dom中有個(gè)概念的區(qū)分:Attribute和Property翻譯出來都是“屬性”,《js高級(jí)程序設(shè)計(jì)》書中翻譯為“特性”和“屬性”。簡(jiǎn)單理解,Attribute就是dom節(jié)點(diǎn)自帶的屬性
而Property是這個(gè)DOM元素作為對(duì)象,其附加的內(nèi)容,例如,tagName, nodeName, nodeType,, defaultChecked, 和 defaultSelected 使用.prop()方法進(jìn)行取值或賦值等
獲取Attribute就需要用attr,獲取Property就需要用prop
關(guān)于回調(diào)函數(shù):
eg: $("input:eq(2)").attr('value',function(i,val){
? ? return '通過function設(shè)置' + val
? ? })
//$('input:eq(2)')取到的是一個(gè)合集,即一個(gè)數(shù)組,i表示的是這個(gè)數(shù)組的下標(biāo)索引值,而val表示attr(‘value’,value)這個(gè)函數(shù)你選擇的那個(gè)屬性的值。可以試試$("input")
查看全部 -
的確從p開始計(jì)算第一位的,為什么會(huì)加上一個(gè)a是因?yàn)?,如果第十位不是a,那么就不會(huì)更改,加上a之后,就規(guī)定了不僅僅是第十位,還需要是a標(biāo)簽才能選中
?//不分男女,選中第一類衣服中第9個(gè)a元素,并改變顏色
? ? //這里用了nth-child 選擇的他們所有父元素的第n個(gè)子元素
? $(".tag dd a:nth-child(10)").css('color','#66CD00');
查看全部
舉報(bào)