<script> var rows = document.getElementsByTagName("tr"); for (var i = 0; i < rows.length; i++) { var row = rows[i]; if (row.cells[2].textContent === {{tuihuodanhao}}) { row.classList.add("selected"); } } </script>
时间: 2024-01-15 15:05:38 浏览: 28
在这段代码中,有一处错误:`{{tuihuodanhao}}` 缺少了引号。因为 `textContent` 属性返回的是一个字符串,所以需要将 `{{tuihuodanhao}}` 包裹在引号中,例如:
```
if (row.cells[2].textContent === "{{tuihuodanhao}}") {
row.classList.add("selected");
}
```
这样就能够正确地判断退货单号是否匹配了。同时,根据你的代码,这段 JavaScript 代码应该放在 HTML 文档中的 `<script>` 标签中。
相关问题
<script> var rows = document.getElementsByTagName("tr"); var tuihuodanhao = '{{tuihuodanhao}}'; for (var i = 0; i < rows.length; i++) { var row = rows[i]; if (row.cells[2].innerText === tuihuodanhao) { row.classList.add("selected"); } } </script>哪里错误了
这段代码的错误可能是在使用变量 `{{tuihuodanhao}}` 时出现的。这个变量可能没有被正确地设置或传递到了模板中。
另外,我注意到您在这段代码中使用了 `innerText` 属性来获取单元格中的文本内容,这在某些浏览器中可能会导致问题。建议改为使用 `textContent` 属性来获取单元格中的文本内容,这是一个更通用和可靠的方法。
下面是一份可能会更好的代码示例,您可以参考一下:
HTML文件:
```
<table>
<tr>
<th>序号</th>
<th>订单号</th>
<th>退货单号</th>
</tr>
<tr>
<td>1</td>
<td>12345</td>
<td>67890</td>
</tr>
<tr>
<td>2</td>
<td>23456</td>
<td>78901</td>
</tr>
<tr>
<td>3</td>
<td>34567</td>
<td>89012</td>
</tr>
</table>
```
JavaScript文件:
```
var rows = document.getElementsByTagName("tr");
var tuihuodanhao = "67890";
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.cells[2].textContent === tuihuodanhao) {
row.classList.add("selected");
}
}
```
在上面的代码中,我们首先定义了一个 `tuihuodanhao` 变量来表示要查找的退货单号。然后,我们使用 `getElementsByTagName()` 方法获取所有的行,并对每一行进行遍历。如果行的第三个单元格的文本内容与 `tuihuodanhao` 变量的值相等,我们就使用 `classList.add()` 方法将该行添加 `selected` 类,以便通过 CSS 样式来突出显示该行。
如果您仍然遇到问题,请提供更多上下文或错误信息,以便我更好地理解问题。
<script> function goToLink(link) { window.location = link; } </script> <script> var rows = document.getElementsByTagName("tr"); var tuihuodanhao = '{{tuihuodanhao}}'; for (var i = 0; i < rows.length; i++) { var row = rows[i]; if (row.cells[2].textContent === tuihuodanhao) { row.classList.add("selected"); } } </script> <table class="tab_1"> <tr> <td onclick="event.stopPropagation();"><input type="checkbox" id="select-all"></td> <td>录入时间</td> <td>退货单号</td> <td>录入人</td> <td>备注</td> <td>状态</td> <td>日志</td> </tr> {%for item in data%} <tr onclick="goToLink('/show_tui?tuihuodanhao={{item[1]}}');"> <td onclick="event.stopPropagation();"><input type="checkbox" value="{{item[1]}}" name="id"></td>为什么选中的行不变色
根据你提供的代码,可以看到当符合条件的行被找到后,会给这一行的 class 添加 "selected",但是在代码中并没有对 "selected" 这个 class 进行样式的定义。所以需要在 CSS 文件中添加 ".selected" 的样式定义,例如:
```
.selected {
background-color: yellow;
}
```
这样就可以让选中的行变成黄色背景了。当然,你也可以根据需要修改样式定义。