尝试在使用JavaScript检查输入后突出显示表行

尝试在使用JavaScript检查输入后突出显示表行,javascript,Javascript,问这个问题是因为虽然在这里JQuery已经解决了这个问题,但我没有看到任何JavaScript解决方案 我有一个简单的表,其结构如下: ``` ```请使用以下代码: var rowElement=document.querySelector('tr'); rowElement.addEventListener('click',函数(e){ var clickedElement=e.target;//这是检查被单击的目标元素是什么,这可能是行中的复选框 var clickedElementNa

问这个问题是因为虽然在这里JQuery已经解决了这个问题,但我没有看到任何JavaScript解决方案

我有一个简单的表,其结构如下:

```

```请使用以下代码:

var rowElement=document.querySelector('tr');
rowElement.addEventListener('click',函数(e){
var clickedElement=e.target;//这是检查被单击的目标元素是什么,这可能是行中的复选框
var clickedElementName=clickedElement.tagName.toLowerCase();//我们需要使用toLowerCase获取名称以查看元素是否为输入元素,因为这些名称通常是大写的
如果(clickedElementName==='input'&&clickedElement.checked){
//如果单击的元素是一个输入元素,并且被选中,这意味着它是一个复选框,请执行以下操作:
单击edelement.parentNode.parentNode.style.background=“blue”;/“this”是我们正在侦听的元素,即rowElement
}否则{
单击eElement.parentNode.parentNode.style.background=“”;
}
})

细胞

clickedElementName。选中的
应该是
clickedElement。选中的
哈哈,呜呜,谢谢@brunjick
<tr>
<td><input type="checkbox"></td>
<td></td>
</tr>
var rowElement = document.querySelector('tr');
rowElement.addEventListener('click',  function(e){
    var clickedElement = e.target; // this is checking what was the target element that is being clicked on, and that could be the checkbox inside the row
    var clickedElementName = clickedElement.tagName.toLowerCase(); // we need to get the name to see if the element was an input element, using toLowerCase because those names are often uppercase
    if ( clickedElementName === 'input' && clickedElementName.checked ) {
          // if the clicked element is an input element, and is checked, meaning it's a checkbox, do the following:
         this.style.color = "blue"; // 'this' is the element that we are listening on, that is, the rowElement
    }
})