现象
在使用jQuery对id含有冒号的元素进行append时,总是添加不上,还不报任何异常。很是郁闷……
原写法是这样:
$('#01:01:01professionAddr').append('<div>haoqi</div>');
讲知识
开始以为是id不支持冒号(:),去w3c上查了一下,是这么说的:
规定元素的唯一 id。
命名规则:
必须以字母 A-Z 或 a-z 开头
其后的字符:字母(A-Za-z)、数字(0-9)、连字符("-")、下划线("_")、冒号(":") 以及点号(".")
值对大小写敏感
id是支持冒号的,经过测试以下语句是能获取到元素对象的
$('#01:01professionAddr').append('<div>zhegehaoyong</div>');
那为啥多个冒号就不好用了呢?
经过多次尝试与在线搜索,发现jQuery会对冒号进行转义……
现在有两种方案可以解决:
1、将所有冒号进行转义,使用<code>\:</code>
2、将所有冒号替换成下划线(_)