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

这个写法没看懂怎么办?$('' + className + '');

var getValue = function(className) {

            var $elem = $('' + className + '');

             

            return {

                height: $elem.height(),

                top: $elem.position().top

            };

        };


正在回答

7 回答

加这个的意思 就是强转为 字符串

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

同样看这行代码很迷,既然都是用classname这个参数,两个单引号里面有没有内容,感觉确实加不加都行啊,
加这个字符串的用意是不是function(classsname)这里并没有定义classname是不是字符串类型的,而下面加了两对单引号是为了classname变成一个字符串类型的jquery对象呢?

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

学过jq的都应该知道  想要通过类名为。div来获取某个元素时,写法应该是 $(".div") 

而这里的$('' + className + '')   的意思就是  获取类名为className 的元素  '但这里的className是个参数 想要达到 $(".div")  这种效果  就需要写成'' + className + ''  这里的加好是个连字符  比如说当className为.div时,

$('' + className + '') 就会显示为 $(".div")  若是不加上+ 的话 $('' className '')   的意思就是获取元素标签名为className 的 所有元素  然而并不会有 这个元素标签。  这里懂了的话 下面那几句应该也不会有问题了吧。。

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

我想做前端大牛 提问者

'' + className + '',您好,我也知道您的意思,但是你这里是双引号号还是单引号呢,如果这里是双引号,这里运行会出错,如果两边是单引号的组合,那运行就没错,同时不加双引号直接写className也不会出错哦,我的问题是在这个章节里老师的代码是两边都是单引号''组合,也就是说这里的''是两个单引号来的。我的问题在这里。
2016-05-23 回复 有任何疑惑可以回复我~
#2

慕娘9282524 回复 我想做前端大牛 提问者

好想像你说的那样,, 我也不太清楚是为什么了。。 反正 $elem = $('' + className + ''); 这局 根据我的理解 就是想 通过类名的方法 来获取到这个元素
2016-05-23 回复 有任何疑惑可以回复我~
#3

我想做前端大牛 提问者 回复 慕娘9282524

是啊,开始我也和你一样想法,仔细看并不是双引号,而是两个单引号''加上+号在加className再加+号再加两个单引号'',最终就是这样''+className+''。我的理解是单引号里面的内容是个空字符串,所以加不加引号都无所谓,老师加了不懂用意是什么?加了和不加最终结果都是className里的内容。
2016-05-23 回复 有任何疑惑可以回复我~
#4

织梦_ 回复 我想做前端大牛 提问者

把他强行转换成字符串 类似这样console.log(typeof (1 + "")); 其实这里没必要强转 因为传入的肯定是字符串
2017-01-10 回复 有任何疑惑可以回复我~
查看1条回复

 单引号

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

我想做前端大牛 提问者

为什么呢?不加引号也可以传参啊。加了是为什么
2016-05-21 回复 有任何疑惑可以回复我~

练习的代码里

$('' + className + '');

这看似双引号,但是是两个单引号这是为什么呢?

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

源代码,里的不像是双引号

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

感觉那个不是双引号啊

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

举报

0/150
提交
取消

这个写法没看懂怎么办?$('' + className + '');

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