javascript - 附加到循环内的按钮时,如何在 JavaScript 中解析 XML 并在 nodeValue 中保留空格?
问题描述
我正在解析一个 xml 结果集并将 nodeValues 附加到按钮上。我正在尝试将该按钮的值设置为节点值,并且当节点值中没有空间时它可以工作,但是当有空间时它会分开。我还将按钮的文本设置为效果很好的节点值,当此处有空格时,它不会将节点值分开,仅在设置值时。
我尝试将 nodeValue 设置为循环中的变量并在那里对其进行格式化,但是在设置值时如果有空格,它仍然会将其分开。
var i;
var xmlDoc = xml.responseXML;
var li = "";
var x = xmlDoc.getElementsByTagName("string");
var valueName;
for (i = 0; i < x.length; i++) {
li += "<li><button id=documentBtn class=btnNav onclick=javascript:hideFunction(value) value=" + "" + x[i].childNodes[0].nodeValue; + "" + ">" +
x[i].childNodes[0].nodeValue +
"</button ></li >";
}
这是产生这个:
<button class="btnNav" id="documentBtn" onclick="javascript:hideFunction(value)" value="Site" safety="" specific="" plans="">Site Specific Safety Plans</button>
它应该产生这个:
<button class="btnNav" id="documentBtn" onclick="javascript:hideFunction(value)" value="Site Specific Safety Plans">Site Specific Safety Plans</button>
解决方案
代码实际输出的是:
<button class=btnNav id=documentBtn onclick=javascript:hideFunction(value) value=Site Specific Safety Plans>Site Specific Safety Plans</button>
包含空格的 HTML 属性值必须用引号 (''
或""
) 括起来才能正确处理:
var i;
var xmlDoc = xml.responseXML;
var li = "";
var x = xmlDoc.getElementsByTagName("string");
var valueName;
for (i = 0; i < x.length; i++) {
li += "<li><button id=documentBtn class=btnNav onclick=javascript:hideFunction(value) value='" + x[i].childNodes[0].nodeValue + "'>" +
x[i].childNodes[0].nodeValue +
"</button></li>";
}
上面的代码应该产生:
<button class=btnNav id=documentBtn onclick=javascript:hideFunction(value) value='Site Specific Safety Plans'>Site Specific Safety Plans</button>
推荐阅读
- c - Function return via pointer doesn't work correctly
- javascript - NodeJS createWriteStream JavaScript heap out of memory
- reactjs - React Incorrect render when combine withRouter/withStyles and mobx's observer
- lambda - 继续通过式程序
- reactjs - react-toastify showing twice with SSR
- javascript - Asp.net 部分视图 - 单击后设置 html 和 css - 不改变它的状态
- javascript - Gatsby 构建时的 Graphql 请求不发送标头
- android - Google Play java.lang.NoClassDefFoundError: java.util.Objects
- javascript - 如何检查用户 ID = JSON 文件中的任何 ID?
- sql - 强制 SQL 查询将 2 个 CASE 语句的结果放入同一行