以下声明可以正常运行:
$wb.upLinearLoad.append('<div>' + sprintf("%5s%8.1f to%7.1f%8.1f%6.0f%8.0f",sLinearSegName[i][j],fLinearPtBA[i][j],fLinearPtBA[i][j+1],fLen,fLinearPtPpi[i][j],fLinearSegMaxWt[i][j]).replace(/ /," ") + '</div>');
但是,我现在需要动态更改最后两个变量的颜色,所以我决定将它们放在一个带有class ='wt'的范围内以控制它们的颜色。这给出了:
$wb.upLinearLoad.append('<div>' + sprintf("%5s%8.1f to%7.1f%8.1f<span class='wt'>%6.0f%8.0f</span>",sLinearSegName[i][j],fLinearPtBA[i][j],fLinearPtBA[i][j+1],fLen,fLinearPtPpi[i][j],fLinearSegMaxWt[i][j]).replace(/ /," ") + '</div>');
失败,因为span和class之间的空格变为
我的正则表达式能力仅与示例有关,因此问题是如何将除第一个空格之外的所有空格更改为
?
欢迎任何和所有建议,特别是如果您发现我的整个方法都很差。
答案 0 :(得分:0)
不要使用字符串。相反,使用jQuery / DOM操作。它不容易出错,效率更高。
$wb.upLinearLoad.append(
$('<div>').append(
sprintf("%5s%8.1f to%7.1f%8.1f", sLinearSegName[i][j], fLinearPtBA[i][j], fLinearPtBA[i][j+1], fLen),
$('<span>').addClass('wt').text(sprintf("%6.0f%8.0f</span>", fLinearPtPpi[i][j], fLinearSegMaxWt[i][j]))[0]
)
);