gpt4 book ai didi

Javascript 错误 - 如果连接的字符串中有空格,则连接时出现未终止的字符串文字

转载 作者:行者123 更新时间:2023-11-28 21:13:27 25 4
gpt4 key购买 nike

在某些情况下,我需要通过 JavaScript 构建字符串以附加到 HTML 元素。

我的方法通常是这样做:

document.getElementById('theID').innerHTML=document.getElementById('theID').innerHTML+'<li>theString</li>';

除非附加的字符串是包含 JavaScript 变量和文本的高级 HTML,否则效果很好。在这些情况下,除非它仍然有代码间距(空白),否则维护起来就会变得一团糟。

我想要的示例:

document.getElementById('theID').innerHTML=
document.getElementById('theID').innerHTML+
"<ul>
<li><a href='"+varLink+"'>"+var1+"</a></li>
</ul>";

我的问题是它不能有任何空格,或者我在页面加载时得到一个未终止的字符串文字。即使用于连接的“+”前后有空格也会导致错误。如果我从字符串中删除所有空格,那么它可以正常工作,但就像我说的,很难维护/编辑。

首先,是否有更好的方法通过 jQuery 来实现此目的,并且不会在页面加载时生成相同的错误?除此之外,是否有某种方法可以在不获取未终止的字符串文字的情况下获得空格?

最佳答案

可以使用单个\来转义,但这并不是一个好主意,因为它不是标准的一部分;

var s ="<ul> \r\n\
<li><a href='"+varLink+"'>"+var1+"</a></li> \r\n\
bla bla bla \r\n\
</ul>";

唯一的其他方法是单独连接字符串的每个部分。
使用数组可以提高效率/可读性;

var buff = [];
buff.push("<li>...");
buff.push("</ul>");
document.getElementById('theID').innerHTML += buff.join("\r\n");

关于Javascript 错误 - 如果连接的字符串中有空格,则连接时出现未终止的字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8168422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com