javascript - 为什么innerHTML附加一个逗号

标签 javascript html dom

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="media/js/jquery.js"></script>
<script>
var table = "";
var example_array = [];

function tablething() {
    index = document.getElementById("location").value;
    value = document.getElementById("input_value").value;
    addRow(index,value);
}

function addRow(index,value){
     var rowBeg = "<tr><td>";
     var rowEnd = "</td></tr>";

     value = rowBeg + value + rowEnd;
     example_array.splice(index,0,value);
     console.log(example_array);
     table.innerHTML = example_array;
     console.log(table.innerHTML);
}

$( document ).ready(function() {
    table = document.getElementById("example");
    example_array = new Array();
});
</script>
</head>
<body>

<table id="example">
</table>

Location: <input type="text" id="location"/>
Value: <input type="text" id="input_value"/>
<button onclick="tablething()">Add</button>

</body>
</html>

控制台中的结果是

Array [ "<tr><td>0</td></tr>" ] dyna_row.html:21
"<tbody><tr><td>0</td></tr></tbody>" dyna_row.html:23
Array [ "<tr><td>0</td></tr>", "<tr><td>1</td></tr>" ] dyna_row.html:21
"<tbody><tr><td>0</td></tr><tr><td>1</td></tr></tbody>," dyna_row.html:23
Array [ "<tr><td>0</td></tr>", "<tr><td>1</td></tr>", "<tr><td>2</td></tr>" ] dyna_row.html:21
"<tbody><tr><td>0</td></tr><tr><td>1</td></tr><tr><td>2</td></tr></tbody>,," dyna_row.html:23
Array [ "<tr><td>0</td></tr>", "<tr><td>1</td></tr>", "<tr><td>2</td></tr>", "<tr><td>3</td></tr>" ] dyna_row.html:21
"<tbody><tr><td>0</td></tr><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr></tbody>,,,"

我的疑问是

  1. 为什么每次调用 addRow 方法时这段代码都会在innerHTML 末尾添加一个逗号?

  2. example_array.join("") 似乎实现了我想要做的事情,但是 toString 方法是否也没有返回与 join 方法相同的内容?

最佳答案

当数组转换为字符串时,它会在值之间添加逗号。

这将在值之间使用空格

table.innerHTML = example_array.join(" ");

关于javascript - 为什么innerHTML附加一个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125147/

相关文章:

javascript - 如何在javascript中获取数组的数组

javascript - 触发的滚动事件没有 e.pageX 和 e.pageY

php - 如何在 PHP 中选择 "remember"表单值?

java - 为什么使用 Jsoup 连接到特定网页时会收到 404 错误?

javascript - 没有jquery的倒数第二个 child

javascript - 获取被激发(触发)的事件的名称(类型)

javascript - 有没有办法在同一来源上发出 XMLHttpRequest 时不发送 cookie?

javascript - 如何从一组对象映射多个属性

html - 纯 CSS 解决方案,用于在父项之间存在悬停间隙时保持子项显示

带有下拉列表以显示div的Javascript