问答详情
源自:3-1 布局的自适应动态调整

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

var getValue = function(className) {

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

             

            return {

                height: $elem.height(),

                top: $elem.position().top

            };

        };


提问者:我想做前端大牛 2016-05-21 21:38

个回答

  • 清风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 的 所有元素  然而并不会有 这个元素标签。  这里懂了的话 下面那几句应该也不会有问题了吧。。

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

     单引号

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

    练习的代码里

    $('' + className + '');

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

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

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

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

    感觉那个不是双引号啊