使用按钮点击事件javascript

时间:2017-07-22 01:19:05

标签: javascript jquery

我在JSFiddle上找到了以下代码。此代码一次只突出显示一行。但是我需要一次突出显示多行,并且在点击按钮时它们应该保留。任何人都可以帮助我吗?

的Javascript

function highlight(ctrl){
   var elements=document.getElementsByTagName('tr');
    for(var i=0;i<elements.length;i++)
        elements[i].classList.remove('backChange');
   var parent=ctrl.parentNode.parentNode;
   parent.classList.add("backChange");
}

document.write("<table id=appTable border=1 style=margin-top:10px; margin-left:10px;>")
        document.write("<tr><th>Select</th><th>Name</th><th>Location</th><th>Action</th></tr>");
for (row=1; row<5; row++) {
                     document.write("<tr class='New'>")
                     for (col=1; col<=4; col++) {
                            if(col==1)
                {                       document.write("<td><input type='checkbox' id='mapCheck' name='myTextEditBox' /></td>")
                }

                            if(col==2)
                                 document.write("<td width='140'>Name</td>")
                            if(col==3)
                                 document.write("<td width='200'>Location</td>")
                if(col==4)
                 document.write("<td><button type='button' onclick='highlight(this)'>select</button></td>")
                        }
                document.write("</tr>")
                }
        document.write("</table>")

CSS

.backChange{
    background:red;
}

1 个答案:

答案 0 :(得分:1)

删除循环并切换类

&#13;
&#13;
function highlight(ctrl) {
  var parent = ctrl.parentNode.parentNode;

  if(parent.classList == "New backChange") {
    parent.classList.remove("backChange");
  }
  else {
    parent.classList.add("backChange");
  }
}
&#13;
.backChange{
    background:red;
}
&#13;
<table id="appTable" style="margin-top:10px;" margin-left:10px;="" border="1">
  <tbody>
    <tr>
      <th>Select</th>
      <th>Name</th>
      <th>Location</th>
      <th>Action</th>
    </tr>
    <tr class="New">
      <td><input id="mapCheck" name="myTextEditBox" type="checkbox"></td>
      <td width="140">Name</td>
      <td width="200">Location</td>
      <td><button type="button" onclick="highlight(this)">select</button></td>
    </tr>
    <tr class="New">
      <td><input id="mapCheck" name="myTextEditBox" type="checkbox"></td>
      <td width="140">Name</td>
      <td width="200">Location</td>
      <td><button type="button" onclick="highlight(this)">select</button></td>
    </tr>
    <tr class="New">
      <td><input id="mapCheck" name="myTextEditBox" type="checkbox"></td>
      <td width="140">Name</td>
      <td width="200">Location</td>
      <td><button type="button" onclick="highlight(this)">select</button></td>
    </tr>
    <tr class="New">
      <td><input id="mapCheck" name="myTextEditBox" type="checkbox"></td>
      <td width="140">Name</td>
      <td width="200">Location</td>
      <td><button type="button" onclick="highlight(this)">select</button></td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;