<body>
<table>
<thead>
<td>
<input type="checkbox" class="all">
</td>
<td>
商品
</td>
<td>
价格
</td>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" class="part">
</td>
<td>
iphone8
</td>
<td>
8000
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="part">
</td>
<td>
ipad pro
</td>
<td>
5000
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="part">
</td>
<td>
ipad Air
</td>
<td>
2000
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="part">
</td>
<td>
Apple watch
</td>
<td>
2000
</td>
</tr>
</tbody>
</table>
这里我们要获得tbody里面的所有input,首先我们可以想到的是给tbody中每一个input添加一个类名 part,再通过document.querySelectorAll('.part')
选出所有。
刚开始我用的是document.getElementsByTagName('input')
但此方法同时也把thead中的input标签给选中了,这与我们所设想的不同,若我们用这个方法时候单纯就这样写结果是不对的,因此可以用下面这个进行一点点的改进
var part = document.getElementsByTagName('input')
part = Array.prototype.slice.call(part).slice(1)//把第一个input标签去掉
这样我们得到的就与最初设想的一致