为了账号安全,请及时绑定邮箱和手机立即绑定

求解这个问题

$("li:contains("jQuery")").css("background", "green"); 用双引号并不可以,单引号可以,不用引号也可以,,老师能解释下吗??

正在回答

3 回答

为什么不用引号也可以?

加引号是为了让js知道,括号里面的内容是一个字符串类型(数据类型)

然而,$("li:contains('jQuery')")写分开点看:

$( "  li:contains('jQuery')   " ),这句  li:contains('jQuery')    已经包含在$()中的双引号里了,所以它已经是一个字符串类型了,没必要再次使用引号说明。所以正确写法是:$("li:contains(jQuery)"),w3school中也是不加引号的写法。

当然,假设可以直接使用contains();  里面就一定要加引号了,否则会被当作是变量,此时:

contains(a)≠contains("a");

3 回复 有任何疑惑可以回复我~
#1

hei_yu_fa 提问者

非常感谢!
2015-11-01 回复 有任何疑惑可以回复我~

嗯,这个想到了,但是为什么不加引号也可以。。。

0 回复 有任何疑惑可以回复我~

涉及到转义的问题,我感觉,反正外面有一对双引号,里面的就要换单引号,或者反过来

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

求解这个问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信