關於jQuery的ID選擇器你們都不陌生。今天我遇到了如題目所描述的問題。
我要操做的Dom元素的id包含特殊字符,而且目標DOM 的ID值不能改動。
(pis:很少述緣由,通常這種狀況很少,我遇到了,我思考了,我解決了而已)。
用jQuery的ID選擇器會出現錯誤。究其緣由是由於ID選擇器匹配字符串用的正則是 ^#([\w-]+)$,
解釋這段正則:以#開頭 並以 包含一個以上全部字母及下劃線和中劃線-字符串結尾 的字符串
對正則稍微熟悉的人都能明白。
好了一切都明白了,當id中包含 全部字母及下劃線和中劃線- 之外的字符的時候 是不能被匹配的,這時候ID選擇器也就不起做用了。 dom
解決這個問題有3中方法:
①直接不用特殊字符。這種方法最好。
②用這樣 $(document.getElementById(domId))獲得對應的jQuery對象
③改jQuery源碼的匹配表達式 加上一些你想要的 特殊字符 好比 ^#([\w-\=\|]+)$,就是加上了 =和|。
spa