使用javascript中的类选择表单元格
Select table cell using class in javascript
有没有一种方法可以通过在单元格上使用"class"来选择表单元格。好的例子胜过1000个单词。。。
如何使用javascript选择元素以仅在表中选择.redcell
?我需要分别为每个td插入函数,所以td .redcell
不像索引那样是一个解决方案。
.redcell {background-color: red}
<table>
<tr>
<td> 1</td>
<td>2</td>
<td class="redcell">3</td>
<td>4</td>
</tr>
<tr>
<td> 1</td>
<td class="redcell">2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<div class="redcell">don't select me</div>
您可以使用querySelectorAll()
DEMO
var cell = document.querySelectorAll('table td.redcell');
for (var i = 0; i < cell.length; i++) {
cell[i].style.color = 'red';
}
更新:你可以像这个一样addEventListener
到每个单元格
var cell = document.querySelectorAll('table td.redcell');
cell[0].addEventListener('click', function() {
this.style.color = 'red';
});
cell[1].addEventListener('click', function() {
this.style.color = 'green';
})
<table>
<tr>
<td>1</td>
<td>2</td>
<td class="redcell">3</td>
<td>4</td>
</tr>
<tr>
<td>1</td>
<td class="redcell">2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<div class="redcell">don't select me</div>
应该使用委托,而不是遍历包含redcell类的每个元素。在这种情况下,您不需要为动态添加的<td>
添加另一个事件侦听器,而且代码看起来更干净。
将click事件监听器添加到<td>
的一个祖先元素中。这里,祖先元素可以是<table>
。单击<td>
时,将调用单击事件处理程序。通过event.target查找单击的元素信息,如果event.targe是<td>
并且具有redcell类,则执行您的逻辑。
请参阅演示。
在jQuery中,您可以使用以下选择器只选择具有redcell类的td元素:
$("td.redcell")
它在纯JS中的等价物:
document.querySelectorAll('td.redcell');
相关文章:
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- 如何通过按钮更改选择表单
- 在提交数据之前更改选择表单元素中的值
- 试图让Jquery在Rails和ActiveAdmin中使用动态选择表单
- HTML使用选择表单更改输入选择(可能使用JQuery?)
- Mootools提交表单仅在通过ID选择表单时有效
- 如何发布单选和复选框选择?表单由php和js处理
- 订阅选择表单中的不同选项
- 带有选择表单和文本字段的简单计算器
- text()不适用于选择表单输入
- 按下按键输入时输入表单和选择表单之间的冲突
- 选择表单后从数据库中获取隐藏的输入值
- 如何在给定焦点时选择表单输入中的文本
- 触发链接以在 If 语句中选择表单时触发
- 使用 Javascript 函数从 HTML 选择表单生成价格
- 使用 JavaScript 清空选择表单元素
- Ajax 动态选择表单未提交值
- JavaScript 选择表单选项
- 创建元素时不要更改选择表单的选项
- 如何做一个HTML选择表单,其中所选选项更新JSON值