Javascript jquery不接受带引号的变量

Javascript jquery不接受带引号的变量,javascript,jquery,Javascript,Jquery,我试图得到一个函数,它改变各种div元素的顶部和左侧属性,以接受一个参数,在这个参数中,我基本上在变量的值周围加上引号 function inQuotes(l) { return '"' + l + 'px"'; } function Rearrange(k, topleft) { $(y).css("top", inQuotes(topleft[0])).css("left", inQuotes(topleft[1])); } 其中y是一个具有 position: abso

我试图得到一个函数,它改变各种div元素的顶部和左侧属性,以接受一个参数,在这个参数中,我基本上在变量的值周围加上引号

function inQuotes(l) {
    return '"' + l + 'px"';
}

function Rearrange(k, topleft) {
    $(y).css("top", inQuotes(topleft[0])).css("left", inQuotes(topleft[1]));
}
其中y是一个具有

position: absolute
放置在具有

position:relative
topleft是一个由2个值组成的数组,即我要移动div的顶部和左侧像素数。但是,当我调用该函数时,脚本不会运行该函数,忽略它并运行脚本的其余部分

我已经检查并测试了这两个功能的所有部分,并得出结论:

inQuotesl按预期返回lpx,因此inQuotes40将返回40px。通过运行测试

alert(inQuotes(40));
这提醒了40px

jquery选择器工作;例如,如果y=demo,那么其他jquery方法将按预期运行

如果z=40px,则

$(y).css("top", z);
按预期运行

这让我觉得inQuotes并没有返回字符串,但它返回的是什么呢?任何帮助都将不胜感激。多谢各位

这让我觉得inQuotes并没有返回字符串,但它返回的是什么呢

它正在返回lpx。这不是在JS代码中为文本编写的lpx,而是一个包含lpx的字符串,双引号是值的一部分

这是一个有效的CSS长度值吗?你会在样式表中写top:1px吗?不,你当然不会

所以去掉双引号

这让我觉得inQuotes并没有返回字符串,但它返回的是什么呢

它正在返回lpx。这不是在JS代码中为文本编写的lpx,而是一个包含lpx的字符串,双引号是值的一部分

这是一个有效的CSS长度值吗?你会在样式表中写top:1px吗?不,你当然不会


所以,不要使用双引号。

在这种情况下,你根本不需要添加引号。在那种情况下,你根本不需要添加引号。瞧,它成功了!谢谢你,好心的陌生人,你帮了我。瞧,它成功了!谢谢你,好心的陌生人帮了我。