我正在使用以下函数
function QuantityCheckout () {
var obj = {
"BackGlassQty": Cookies.get('BackGlassQty'),
"BackCameraQty": Cookies.get('BackCameraQty'),
"BatteryQty": Cookies.get('BatteryQty'),
"ChargingPortQty": Cookies.get('ChargingPortQty'),
"FrontCameraQty": Cookies.get('FrontCameraQty'),
"GlassCameraCoverQty": Cookies.get('GlassCameraCoverQty'),
"LogicBoardQty": Cookies.get('LogicBoardQty'),
"ScreenQty": Cookies.get('ScreenQty')
};
$.each(obj, function (key, value) {
var test = '#' + key - 'qty' + 'Quantity'
console.log(test);
$('#' + key - 'qty' + 'Quantity').text('Quantity:' + value);
});
}循环中不断返回8和NaNQuantity。
发布于 2019-11-25 05:55:31
Js中的字符串没有-运算符。相反,您应该使用replace函数,因此您的代码应该变成:
var test = '#' + key.replace('Qty', '') + 'Quantity'发布于 2019-11-25 04:39:38
这是因为当你连接字符串时,里面有一个减号,所以它试图做一个数学计算,这就是为什么你会得到NaN。
使用+连接字符串。
const Cookies = {
get: () => {}
}
function QuantityCheckout () {
var obj = {
"BackGlassQty": Cookies.get('BackGlassQty'),
"BackCameraQty": Cookies.get('BackCameraQty'),
"BatteryQty": Cookies.get('BatteryQty'),
"ChargingPortQty": Cookies.get('ChargingPortQty'),
"FrontCameraQty": Cookies.get('FrontCameraQty'),
"GlassCameraCoverQty": Cookies.get('GlassCameraCoverQty'),
"LogicBoardQty": Cookies.get('LogicBoardQty'),
"ScreenQty": Cookies.get('ScreenQty')
};
$.each(obj, function (key, value) {
var test = '#' + key + 'qty' + 'Quantity'
console.log(test);
$('#' + key + 'qty' + 'Quantity').text('Quantity:' + value);
});
}
QuantityCheckout()<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
或者,您可以使用反刻度号
var test = `#${key}qtyQuantity`https://stackoverflow.com/questions/59022121
复制相似问题