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

来源:3-1 布局的自适应动态调整

我想做前端大牛

2016-05-21 21:38

var getValue = function(className) {

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

             

            return {

                height: $elem.height(),

                top: $elem.position().top

            };

        };


写回答 关注

7回答

  • 清风DEMO
    2017-03-31 20:45:58

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

  • Sunny_Song
    2017-02-18 16:36:36

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

  • 慕娘9282524
    2016-05-22 19:09:08

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

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

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

    织梦_ 回复我想做前端大...

    把他强行转换成字符串 类似这样console.log(typeof (1 + "")); 其实这里没必要强转 因为传入的肯定是字符串

    2017-01-10 15:18:03

    共 4 条回复 >

  • 艾草glass
    2016-05-21 23:15:07

     单引号

    我想做前端大...

    为什么呢?不加引号也可以传参啊。加了是为什么

    2016-05-21 23:28:53

    共 1 条回复 >

  • 我想做前端大牛
    2016-05-21 21:54:15

    练习的代码里

    $('' + className + '');

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

  • 我想做前端大牛
    2016-05-21 21:44:39

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

  • 我想做前端大牛
    2016-05-21 21:43:46

    感觉那个不是双引号啊

H5+JS+CSS3实现七夕言情

为七夕节准备的H5+JS+CSS3特效案例,由浅入深案例拆分讲解

211524 学习 · 540 问题

查看课程

相似问题