千家信息网

JQuery ID选择器中的不能包含特殊字符的处理方法

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章将为大家详细讲解有关JQuery ID选择器中的不能包含特殊字符的处理方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。问题的起因是动态生成的
千家信息网最后更新 2025年11月15日JQuery ID选择器中的不能包含特殊字符的处理方法

这篇文章将为大家详细讲解有关JQuery ID选择器中的不能包含特殊字符的处理方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

问题的起因是动态生成的Dom 元素的ID中包含"="导致(你可能会问为什么会在ID中有"="号,我只能说这种情况虽然不多,但是有,比如我的情况,我的ID是某个字符串Base64编码之后的字符串)。

JQuery中的1.2.6版本至1.3.2版本都有这种情况,下面是测试的代码:

view plaincopy to clipboardprint?




















查看Jquery的源代码可以看到堆选择器的解析有这么一段:

view plaincopy to clipboardprint?
var match = quickExpr.exec( selector );

// Verify a match, and that no context was specified for #id
if ( match && (match[1] || !context) ) {

// HANDLE: $(html) -> $(array)
if ( match[1] )
selector = jQuery.clean( [ match[1] ], context );

// HANDLE: $("#id")
else {
var elem = document.getElementById( match[3] );

var match = quickExpr.exec( selector );

// Verify a match, and that no context was specified for #id
if ( match && (match[1] || !context) ) {

// HANDLE: $(html) -> $(array)
if ( match[1] )
selector = jQuery.clean( [ match[1] ], context );

// HANDLE: $("#id")
else {
var elem = document.getElementById( match[3] );其中quickExpr是个正则表达式对象

quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,

^#([\w-]+)$是判断ID选择符,很明显只能匹配包括下划线的任何英文字符数字和下划线中划线。

所以其他的字符如= @等都会出现问题。你解决的办法可以修改JQuery代码中的正则表达式

如我要添加=号,那么我可以改成quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-\=]+)$/,

或者避免出现=的ID出现。

关于JQuery ID选择器中的不能包含特殊字符的处理方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

字符 选择 情况 特殊 方法 处理 下划线 代码 内容 字符串 文章 更多 正则 版本 知识 篇文章 表达式 问题 不错 明显 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发流程ppt 五华区软件开发零售价格 浙江工业大学图书馆全文数据库 项目客户关系管理软件开发 安徽网络技术服务指导 银行卡数据库接口 荔湾专业网络安全建设 数据库技术考纲 体现网络安全主题的小游戏 福建服务器机柜价格 手机软件开发时如何规避风险 动产保险软件开发定制 国家网络安全宣传周征文活动 嘉跃网络技术有限公司 speedtest软件开发 软件开发费用排行榜 潭州网络技术有限公司 北京软件开发怎么收费 服务器虚拟化缺点 2021年网络安全宣传周文章 怎么启动帐套管理服务器 网络安全等保测评解决方案 一个服务器为什么需要多个ip 云数据库的安全性应该怎么保障 大学生网络安全教育新闻稿 健康管理软件开发公司排名 哔哩漫游服务器泰国 网络安全定级备案及安全防护制度 闵行区电子网络技术内容 松江区大型网络技术采购信息
0