我有创建表的代码,每个单元格包含一个id为行号+"," + column_number(例如,左上角的单元格用:
构建<td><div id="0,0">This is 0,0</div></td>
)。我希望能够修改代码中的单元格内容而无需刷新整个页面,但我无法弄清楚如何动态更新ID。当我做这样的事情时:
var row = 1;
var col = 1;
var newCellContents = "This cell is changed";
var divID = row.toString() + "," + col.toString();
$(divID).html(newCellContents);
它会抛出语法错误;我假设它正在尝试找到一个名为&#34; divID&#34;。
的div如何使用ID&#34; 1,1&#34;?
更新div答案 0 :(得分:2)
要实现此目的,您需要在选择器中转义逗号,否则它将被解释为选择器之间的分隔符,而不是id
值的一部分。为此,请在逗号前加\\
。您还需要在选择器前加#
,以便按id
搜索元素。试试这个:
var row = 1;
var col = 1;
var newCellContents = "This cell is changed";
var divID = row.toString() + "\\," + col.toString(); // note the use of \\
$('#' + divID).html(newCellContents);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>
<div id="0,0">This is 0,0</div>
</td>
<td>
<div id="1,1">This is 1,1</div>
</td>
</tr>
</table>
答案 1 :(得分:0)
您已忘记#
访问ID
var divID = '#' + row.toString() + "," + col.toString();
答案 2 :(得分:0)
使用不需要转义的其他分隔符。
有许多特殊字符请注意,使用字符串连接数字会自动将它们强制转换为字符串
var row = 1;
var col = 1;
var newCellContents = "This cell is changed";
var divID = row + "_" + col;
$('#' + divID).html(newCellContents);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="0_0">This is 0,0</div>
<div id="1_1">This is 1,1</div>