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