jQuery选择id带冒号的元素

现象

在使用jQuery对id含有冒号的元素进行append时,总是添加不上,还不报任何异常。很是郁闷……
原写法是这样:

$('#01:01:01professionAddr').append('
haoqi
');

讲知识

开始以为是id不支持冒号(:),去w3c上查了一下,是这么说的:

规定元素的唯一 id。
命名规则:
必须以字母 A-Z 或 a-z 开头
其后的字符:字母(A-Za-z)、数字(0-9)、连字符("-")、下划线("_")、冒号(":") 以及点号(".")
值对大小写敏感

id是支持冒号的,经过测试以下语句是能获取到元素对象的

$('#01:01professionAddr').append('
zhegehaoyong
');

那为啥多个冒号就不好用了呢?

经过多次尝试与在线搜索,发现jQuery会对冒号进行转义……
现在有两种方案可以解决:

1、将所有冒号进行转义,使用\:
2、将所有冒号替换成下划线(_)

参考

JQuery选择器中含有冒号的ID处理差异的分析

你可能感兴趣的:(jQuery选择id带冒号的元素)