话说今天碰到一个怪事,以前写的流程图插件运行都是正常的,连接到外网测试数据库后怎么都运行不起来了。于是超找了半天才发现问题所在。新的数据库在返回的JSON数据中,ID加了后缀“@yjcs”(为了区别不同企业最后添加上去的)。于是JQ的ID选择器无法正常寻找解析了。
详细原因如下:
查看Jquery的源代码可以看到堆选择器的解析有这么一段:
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是个正则表达式对象