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

本文详细分析了在JQuery中如何处理含有冒号ID的选择器问题。通过实例展示了如何使用`#a\:b`或`[id^='a:b']`来正确选择ID为`a:b`的元素。内容涵盖了JS转义规则,JQuery执行顺序,CSS选择器规范,以及解决方案的演示代码。
摘要由CSDN通过智能技术生成

问题提出

对于一个输入框, 如果其id中含有冒号(:),选择器使用需要有特殊写法, 

例如 id为下

<input type="text" value="ddd" id="a:b">

使用$(selector)直接使用#id值, 找不到DOM

console.log("#a:b")
console.log($("#a:b").length) // output 0

经过探索可以使用以下两个方法选择到DOM:

$("#a\\:b");

$("[id^='a:b']");

其中第一种, 需要在冒号(:)前添加一个反斜杠(\), 某些同学要问了,命名是两个反斜杠, 忽悠我?

请看下节介绍。

JS转义

js中的字符串语法需要占用一些元字符, 对于这些元字符如果需要想要在字符串中出现就需要使用转移:

转义表: FROM http://www.w3school.com.cn/js/js_special_characters.asp

代码 输出
\' 单引号
\" 双引号
\& 和号
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 退格符
\f 换页符

事实上,从上表中看以看出,不仅仅是元字符需要显示才转义(" -> \"), 还有使用转移后可以将特定字符转义为另外含义的情况, 例如 n -> \n 变为换行符。

从学习上可以按照如下逻辑整体理解js转义:

1、 js字符串使用 单引号 或者 双引号 作为字符串的”括号”, 表示一个整体字符串, 引号内部为字符串内容,

2、 那么问题来了, 字符串内容中要想包括 引号, 怎么办

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lengyue815

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值