jQuery选择id带冒号的元素

2017-06-28  本文已影响0人  是阿离

现象

在使用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、将所有冒号替换成下划线(_)

参考

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

上一篇 下一篇

猜你喜欢

热点阅读