1.1 Java的split()方法
众所周知,Java的split方法碰到某些特殊字符需要转义。例如字符"."
用做split()
的切割器,需要转义,写法如下:
String str="mizuho.kaga";
String[] ss=str.split("\\.");
双反斜杠是因为\
在Java中也需要转义。
其他字符例如:|
写法为split("\\|")
。
1.2 Javascript的split()方法
Javascript的split()和Java的不同,当使用字符"."
用做split()
的切割器时,加不加反斜杠都行。两种写法如下:
var src_name = conn.sourceId.split(".");
var src_name2 = conn.sourceId.split("\.");
结果:
查了下资料原因是java的正则匹配规则和js的正则匹配规则略有不同,参考JS文档。
2 Javascript的find()方法
需要用find方法找子节点,当子节点id中存在"."
时,find的写法会导致选择器有时能找到有时候又找不到的情况。
下面我需要实现通过选择器找到元素将文本颜色从原本的黑
色设置为红
色,下面是几种情况
结论:当节点id有"."
,拼接id需要用java的转义写法
1. 直接用id,无法找到节点,失败
2.拆开写,无法找到节点,失败
3. 使用js"\."
的转义写法后,失败
4. 使用java"\\."
的转义写法后,找到了节点成功!
这里用了双反斜杠转义"."
,效果终于有了。
一般项目肯定都是拼接的,很迷糊,按js的转义写法转义"."
,找不到,必须用java的转义写法。
这个坑又找了半个小时。果然不是专业前端,一个小坑就很浪费时间,脑壳疼。
↓实际项目写法