Javascript 较少的js modifyVars不适用于字符串路径
我试着用更少的js和可用的字符串路径工作 使用自定义修改变量 代码 无Javascript 较少的js modifyVars不适用于字符串路径,javascript,jquery,html,less,Javascript,Jquery,Html,Less,我试着用更少的js和可用的字符串路径工作 使用自定义修改变量 代码 无 @image-path : "/assets/images"; @bg-image : "/bg/01.png"; 无风格 @import "available.less"; body{ background: url('@{image-path}@{bg-image}') repeat top left; } 在javascript中 less.modifyVars({
@image-path : "/assets/images";
@bg-image : "/bg/01.png";
无风格
@import "available.less";
body{
background: url('@{image-path}@{bg-image}') repeat top left;
}
在javascript中
less.modifyVars({
'@bg-image' : "/bg/08.png"
});
我得到错误解析错误:无法识别的输入
@bg-image: /bg/08.png;
如何修复它
因此,如果我将modifyVars更改为
less.modifyVars({
'@bg-image' : "'/bg/08.png'"
});
有了双引号+单引号的价值包装,它就可以工作了!但是我不需要这个修复,因为jquery修改变量i'm get form html元素时,只考虑在字符串是URL时在其周围添加引号。您可以测试字符串是否具有
/
:
if(field.value.indexOf("/") !== -1) {
variables['@' + field.name] = '"' + field.value + '"';
}
另请参见:如果有效,为什么不将表单元素中的输入用引号括起来?我的元素太多了,比如颜色、字体大小。。。所以,当我将所有这些值包装到我的函数中时,bg图像修改变量的工作方式是,白色、字体大小等。。。不工作,我认为只需要包装输入字符串或路径!您能给我一些解决方案@PatrickGunderson您需要使用“escapeURIComponent”未捕获引用来转义html表单中的字符串错误:当我使用encodeURIComponent时,escapeURIComponent未定义@PatrickGunderson我找不到正确的路径吗?另一个解决方案