javascript - 更改使用 JQuery 的日期
问题描述
我正在尝试使用 jquery 将所有表的到期日期值从 31 日更改为 25 日。我正在使用的当前代码不起作用,因为它正在放置所有值而不是单个值。
var dueDate1 = $("td:contains(/31/)").text();
var dueDate = dueDate1.replace(/31/g, "25");
$("td:contains(/31/)").text(dueDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>Due Date</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td data-title="Due Date">08/31/21</td>
<td data-title="Amount">$500</td>
</tr>
<tr>
<td data-title="Due Date">07/31/21</td>
<td data-title="Amount">$1500</td>
</tr>
<tr>
<td data-title="Due Date">06/31/21</td>
<td data-title="Amount">$2500</td>
</tr>
</tbody>
</table>
解决方案
您的尝试是同时处理整个数据集。
$("td:contains(/31/)").text();
将返回所有单元格的所有文本。
相反,循环遍历单元格并单独更新它们。
$("td:contains('31')").each(function(idx, element){
$(element).text($(element).text().replace("31", "25"));
});
td { padding:2px; border:1px solid grey; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>Due Date</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td data-title="Due Date">08/31/21</td>
<td data-title="Amount">$500</td>
</tr>
<tr>
<td data-title="Due Date">07/31/21</td>
<td data-title="Amount">$1500</td>
</tr>
<tr>
<td data-title="Due Date">06/31/21</td>
<td data-title="Amount">$2500</td>
</tr>
</tbody>
</table>
推荐阅读
- javascript - 图像未从 Discord.js Bot 的嵌入式 URL 中显示
- swift - 带有 throw init 行为的快速惰性 var
- cassandra - Cassandra 是基于列的还是面向列的?
- vba - 在特定条件下用另一个数据库的记录填充当前数据库
- python - 预计 numba 的有效平方欧几里得距离代码会比 numpy 的有效对应代码慢吗?
- java - 扫描仪没有输入另一个字符串并跳过它
- python - Sagemaker 预测本地实例,JSON 错误
- google-chrome - GWT:Chrome 浏览器中的某些屏幕太宽
- powershell - 如何使用 powershell 从服务器获取数据库备份路径?
- php - 无法在 000webhost 中使用会话变量