jQuery选择器中的特殊符号和关键字
生活随笔
收集整理的這篇文章主要介紹了
jQuery选择器中的特殊符号和关键字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一般情況下,在jQuery選擇器中,我們很少會(huì)用到諸如“.”、“#”、“(”、“[”等特殊字符,因?yàn)楦鶕?jù)W3C規(guī)定,HTML文檔中屬性的值是不能包含有這些個(gè)特殊字符的,但是在實(shí)際應(yīng)用中,偶爾也會(huì)遇到表達(dá)式中含有“#”和“.”等特殊字符,
正如我的Skygq表單驗(yàn)證和表單ajax提交合體版插件,在許多人的使用過程中出現(xiàn)了需要選擇器中支持“.”的操作(他們都是java程序員)。
那么是如何處理這些個(gè)特殊字符的呢?
要想讓jQuery能處理這些特殊字符,使用普通的方式處理的話,是不照的,是必須要進(jìn)行轉(zhuǎn)義的。
HTML代碼:
1
<div id="id.a">aa</div>
2
<div id="id#b">bb</div>
Jquery代碼:
view source print?
1
var $id_a = $('#id.a');//jQuery對(duì)象,實(shí)際上是沒取到元素的
2
var $id_b = $('#id#b');//jQuery對(duì)象,實(shí)際上是沒取到元素的
3 alert($id_a.length);//輸出0
4 alert($id_b.length);//輸出0
5 var $id_right_a = $('#id\\.a');//jQuery對(duì)象,對(duì)特殊字符,我們轉(zhuǎn)義一下
6 var $id_right_b = $('#id\\#b');//jQuery對(duì)象,對(duì)特殊字符,我們轉(zhuǎn)義一下
7 alert( $id_right_a.html() );//正確輸出"aa"
8 alert($id_right_b.html() );//正確輸出"bb"
======================項(xiàng)目經(jīng)驗(yàn)=====================
前幾天做項(xiàng)目的時(shí)候,遇到了更坑人的問題,因?yàn)闀r(shí)間原因,現(xiàn)在才來記錄
2、前端Jquery和權(quán)限字符串沖突問題。
?? ?Jquery選擇器的一些特殊字符 : {‘_’(下劃線),‘.’(點(diǎn)),‘#’(井號(hào)),‘a(chǎn)ct’}? (補(bǔ)充:下劃線‘_’,和'act'也是Jquery 的關(guān)鍵字,當(dāng)時(shí)也是莫名其妙的找不到原因) ?
?? ?保存權(quán)限字符到后臺(tái)再到數(shù)據(jù)庫沒有問題,
?? ?到數(shù)據(jù)庫取出數(shù)據(jù)到?jīng)]頁面沒有問題,
?? ?在頁面展示的時(shí)候出現(xiàn)問題。
?? ?問題詳細(xì):頁面元素的id和text內(nèi)容都是動(dòng)態(tài)加載的,后臺(tái)返回?cái)?shù)據(jù),JSP頁面C標(biāo)簽遍歷,動(dòng)態(tài)生成頁面元素
?? ?Jquery選擇器通過ID選擇器,選取這些元素添加樣式,DEBUG調(diào)試查看過前后的樣式,也加上去了,
?? ?然而頁面顯示時(shí)樣式并沒有顯示出來,審查元素時(shí)發(fā)現(xiàn)樣式并不存在。
?? ?
?? ?后來懷疑原因是Jquery選取id的時(shí)候和Jquery選擇器的關(guān)鍵字沖突了。
?? ?修改id字符串里的‘_’(下劃線),或者不用act關(guān)鍵詞, 解決了問題。
======================項(xiàng)目經(jīng)驗(yàn)=====================
正如我的Skygq表單驗(yàn)證和表單ajax提交合體版插件,在許多人的使用過程中出現(xiàn)了需要選擇器中支持“.”的操作(他們都是java程序員)。
那么是如何處理這些個(gè)特殊字符的呢?
要想讓jQuery能處理這些特殊字符,使用普通的方式處理的話,是不照的,是必須要進(jìn)行轉(zhuǎn)義的。
HTML代碼:
1
<div id="id.a">aa</div>
2
<div id="id#b">bb</div>
Jquery代碼:
view source print?
1
var $id_a = $('#id.a');//jQuery對(duì)象,實(shí)際上是沒取到元素的
2
var $id_b = $('#id#b');//jQuery對(duì)象,實(shí)際上是沒取到元素的
3 alert($id_a.length);//輸出0
4 alert($id_b.length);//輸出0
5 var $id_right_a = $('#id\\.a');//jQuery對(duì)象,對(duì)特殊字符,我們轉(zhuǎn)義一下
6 var $id_right_b = $('#id\\#b');//jQuery對(duì)象,對(duì)特殊字符,我們轉(zhuǎn)義一下
7 alert( $id_right_a.html() );//正確輸出"aa"
8 alert($id_right_b.html() );//正確輸出"bb"
======================項(xiàng)目經(jīng)驗(yàn)=====================
前幾天做項(xiàng)目的時(shí)候,遇到了更坑人的問題,因?yàn)闀r(shí)間原因,現(xiàn)在才來記錄
2、前端Jquery和權(quán)限字符串沖突問題。
?? ?Jquery選擇器的一些特殊字符 : {‘_’(下劃線),‘.’(點(diǎn)),‘#’(井號(hào)),‘a(chǎn)ct’}? (補(bǔ)充:下劃線‘_’,和'act'也是Jquery 的關(guān)鍵字,當(dāng)時(shí)也是莫名其妙的找不到原因) ?
?? ?保存權(quán)限字符到后臺(tái)再到數(shù)據(jù)庫沒有問題,
?? ?到數(shù)據(jù)庫取出數(shù)據(jù)到?jīng)]頁面沒有問題,
?? ?在頁面展示的時(shí)候出現(xiàn)問題。
?? ?問題詳細(xì):頁面元素的id和text內(nèi)容都是動(dòng)態(tài)加載的,后臺(tái)返回?cái)?shù)據(jù),JSP頁面C標(biāo)簽遍歷,動(dòng)態(tài)生成頁面元素
?? ?Jquery選擇器通過ID選擇器,選取這些元素添加樣式,DEBUG調(diào)試查看過前后的樣式,也加上去了,
?? ?然而頁面顯示時(shí)樣式并沒有顯示出來,審查元素時(shí)發(fā)現(xiàn)樣式并不存在。
?? ?
?? ?后來懷疑原因是Jquery選取id的時(shí)候和Jquery選擇器的關(guān)鍵字沖突了。
?? ?修改id字符串里的‘_’(下劃線),或者不用act關(guān)鍵詞, 解決了問題。
======================項(xiàng)目經(jīng)驗(yàn)=====================
轉(zhuǎn)載于:https://www.cnblogs.com/heganlin/p/6109897.html
總結(jié)
以上是生活随笔為你收集整理的jQuery选择器中的特殊符号和关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员经典语录笑话
- 下一篇: .net core Entity Fra