JQ 常見誤區

2021-09-12 02:31:33 字數 1582 閱讀 7184

attr 和 prop 用法幾乎一樣。官方推薦在操作屬性節點時,具有true 和 false 兩個屬性的屬性節點,如checked,selected 或 disabled 使用prop(),其他的使用attr()。

比如:有id=『like』的核取方塊

--獲取**編寫                               返回值         獲取值型別

var s =$(

"#like").

attr

("checked"

)(沒有設定checked,即沒有勾選 undefined undefined型別

var s =$(

"#like").

attr

("checked"

)(設定checked,即勾選 "checked" string型別

var s =$(

"#like").

prop

("checked");

(沒有設定checked,即沒有勾選 false boolean型別

var s =$(

"#like").

prop

("checked"

)(設定checked,即勾選 true boolean型別

相同點:都可以獲取/修改文字內容

不同點:html獲取內容時,標籤名也會獲取,text獲取時,不會獲取標籤名。

html修改內容時,將標籤轉換,text修改時,將標籤原樣輸出。

作用都是刪除,唯一不同是:

remove() : 除了這個元素本身得以保留之外,其他的比如繫結的事件,附加的資料等都會被移除。

detach() : 與remove()不同的是,所有繫結的事件、附加的資料等都會保留下來。

trigger() : 在每乙個匹配的元素上觸發某類事件。

triggerhandler() : 這個特別的方法將會觸發指定的事件型別上所有繫結的處理函式。但不會執行瀏覽器預設動作,也不會產生事件冒泡。

這個方法的行為表現與trigger類似,但有以下三個主要區別:

他不會觸發瀏覽器預設事件。

只觸發jquery物件集合中第乙個元素的事件處理函式。

這個方法的返回的是事件處理函式的返回值,而不是據有可鏈性的jquery物件。

此外,如果最開始的jquery物件集合為空,則這個方法返回 undefined 。

如果同時引入多個js框架,則可能導致$衝突。後引入的會覆蓋之前的。

解決方法:

釋放$的使用權

jquery.

noconflict()

jquery

(function()

);

注意: 釋放操作必須在編寫其他jquery**之前編寫

釋放之後就不能再使用$,改為jquery使用

自定義乙個訪問符號

var lz = jquery.

noconflict()

;lz(function()

);

JQ常見用法

1 table info tr disabled not ban 獲得id為table info下的所有tr標籤,class包含disabled但不包含ban的標籤。2 a.b 選擇class同時包含a和b的元素。3 a,b 選擇包含a或者包含b的元素。4 a filter b filter c 選...

jq常見方法

選擇父元素 span parent 選擇所有父元素 span parents 選擇所有父元素的ul span parents ul 選擇所有.box直接子元素 box children 選擇.box下面所有子孫元素 box find 選擇.box所有的兄弟元素 box siblings 選擇.box...

薦 Angular常見誤區

前言 翻譯了半年之後,感覺差不多可以 金盆洗手 了。具體原因感興趣的朋友可以閱讀 about technical translation 這篇文章。但是自從不翻譯了之後,逼自己看英文技術文章就少了很多,所以就給自己想出了新的點子 推薦閱讀系列。還有另外乙個系列,stay tuned。看我月底能憋出什...