我试图获得改变" top"的功能。和"左"各种div元素的属性接受一个参数,其中我基本上在变量的值周围加上引号。
function inQuotes(l) {
return '"' + l + 'px"';
}
function Rearrange(k, topleft) {
$(y).css("top", inQuotes(topleft[0])).css("left", inQuotes(topleft[1]));
}
其中y是带
的div元素position: absolute
位于具有
的容器div中position:relative
和topleft是一个包含2个值的数组,我希望移动div的顶部和左侧像素数。但是,当我调用它时,脚本不会运行该函数,忽略它并运行脚本的其余部分。
我已经完成并测试了两个功能的所有部分,并得出结论:
inQuotes(l)返回" lpx"正如所料,因此inQuotes(40)将返回" 40px"。 (通过运行测试
alert(inQuotes(40));
警告" 40px"。)
jquery选择器工作;例如,如果y =" #demo",则其他jquery方法按预期运行。
如果z =" 40px",那么
$(y).css("top", z);
按预期运行。
这让我觉得inQuotes没有返回一个字符串,但是它返回了什么?任何帮助将不胜感激。谢谢。
答案 0 :(得分:4)
这让我觉得inQuotes没有返回一个字符串,但是它返回的是什么?
它正在返回"lpx"
。 (这不是"lpx"
,就像你在JS 代码中为文本文字所写的那样,它是一个字面上包含"lpx"
的字符串,双引号是<的一部分EM>值。)
现在是一个有效的CSS长度值?你会在样式表中写下top: "1px"
吗?不,当然你不会。
所以摆脱双引号。