java拼接html(innerHTML)导致未结束的字符串常量

错误:未结束的字符串常量

背景:我用的java在后台进行html的拼接,然后通过dwr传递到前台,使用innerHTML进行渲染,可每当碰到用空格或换行总会报这个错

出现的位置:

<pre name="code" class="html">str.append("<a href=javascript:fillDataToField('").append(name).append("')>");

 当name中有空格的时候,fillDataToField总是通过不了,在网上找了半天,有的人说什么单引号/双引号没有配对,又说是什么编码问题,我都把这些都试了一遍,结果还是没用,之后突然发现我的href怎么没有用双引号包起来啊,没想到加了双引号,竟然通过了,惊喜啊,对了,不要忘记双引号也是要转义的,应该是 
\" 

解决后的代码:

str.append("<a href=<span style="color:#FF0000;">\"</span>javascript:fillDataToField('").append(name).append("')<span style="color:#FF0000;">\"</span>>");

所以啊,以后还是得细心,嘿嘿

### JavaScript 中字符串拼接时添加空格的方法 在 JavaScript 中,可以通过多种方式实现字符串拼接并添加空格。以下是几种常见的方法及其具体应用: #### 1. 使用加号 (`+`) 运算符 通过简单的加法运算符可以在两个字符串之间手动插入空格。 ```javascript var str1 = "hello"; var str2 = "world"; console.log(str1 + " " + str2); // 输出: hello world ``` 这种方法直观且易于理解,适用于大多数场景[^1]。 #### 2. 使用模板字符串 (Template Literals) 模板字符串允许直接嵌入变量,并支持多行文本以及复杂的表达式处理。为了在模板字符串中添加空格,可以直接写入所需的空白字符。 ```javascript let greeting = "hello"; let target = "world"; console.log(`${greeting} ${target}`); // 输出: hello world ``` 如果需要连续多个空格,则只需按照需求书写即可[^3]。 #### 3. 利用 concat() 方法 虽然 `concat()` 不像其他两种方式那样常用作日常开发工具之一,但它仍然提供了一种清晰的方式来连接字符串。要加入额外的间隔符(如空格),需显式指定它作为参数的一部分。 ```javascript const partOne = 'This'; const partTwo = 'is a sentence.'; const fullSentence = partOne.concat(' ', partTwo); console.log(fullSentence); // This is a sentence. ``` 此技术特别适合那些希望保持代码风格一致性的开发者们[^2]。 #### 特殊情况下的考虑事项 当涉及到特殊类型的空白——比如不间断空格(non-breaking space),就需要采用 Unicode 编码形式`\u00A0`来表示这种不可见却有效的分隔手段: ```javascript let textWithNbsp = `${'word'}\u00A0${'another word'}`; document.body.innerHTML += `<p>${textWithNbsp}</p>`; // 显示效果类似于 “word another word”,但这里的空格不会被浏览器折叠成单一标准间距。 ``` 上述例子展示了即使是在 HTML 渲染环境中也能维持特定格式布局的可能性。 综上所述,在 JavaScript 中执行字符串操作时有诸多途径可供选择;无论是基础还是高级技巧都能满足不同层次的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值