课程
/前端开发
/jQuery
/jQuery基础课程
$("li:eq("+i+")").css("display","none");为什么这里一定要加上+i+?
2015-01-27
源自:jQuery基础课程 3-13
正在回答
首先看到+i+是用双引号包围的,然后这一层外面还有双引号,所以+i+肯定不是一个整体,因为双引号里面加双引号肯定不行的啦,引起冲突神马的,一般双引号里面加单引号才表示单引号里面是整体。。
然后不是整体就好说啦。。那就分成了三个部分
第一部分li:eq(
第二部分i
第三部分)
然后假如i=0;i++;
那么这个就相当于:
$("li:eq(0)").css("display","none");
$("li:eq(1)").css("display","none");
$("li:eq(2)").css("display","none");
...
我是这么理解的。。。
大脚哈哈哈哈哈 回复 capriciousfish
欧罗巴皇 回复 capriciousfish
我也理解不了,有人再帮忙解释下么。十分感谢。
首先$() 括号里面的是字符串 ,因为它是用引号括起来的
然后举个类似的例子让你参考下
alert()这个记得把,如果里面是字符串,那么也是必须加引号的,如果里面是变量呢?那就不需要加
例如var i = 1;
alert(i); 结果是1 但是如果alert("i"),那么这个输出就是 i 了
alert("li:eq()"),这个出来的就是 // li:eq() 这个结果吧
现在我要把变量值夹在括号之间怎么写呢??相信你已经知道了吧
区别就在于 alert("li:eq("+i+")") 输出 li:eq(变量i的值) 而alert("li:eq(i)") 输出是 li:eq(i)
capriciousfish
字面写字符串?必须是数值型才对吧?
应该是里面要写字符串 , 所以要拼 "+i+" , 把 i 的值放进去
举报
加入课程学习,有效提高前端开发速度