js中如何获取勾选了checkbox的这行的其他元素中的内容

举例:

<table>
    <tr>
        <td>
        <input type="checkbox" name="chk" id="chk_1" class="styled" value="1">
        </td>
        <td>
            <a href="XXX">QQ11</a>
        </td>
    </tr>
    <tr>
        <td>
        <input type="checkbox" name="chk" id="chk_2" class="styled" value="2">
        </td>
        <td>
            <a href="XXX">ZZ22</a>
        </td>
    </tr>
    <tr>
        <td>
        <input type="checkbox" name="chk" id="chk_3" class="styled" value="3">
        </td>
        <td>
            <a href="XXX">XX33</a>
        </td>
    </tr>
</table>
/* 获取勾选了的checkbox的值 */
var str = document.getElementsByName("chk");
var objarray = str.length;
var con = "";
for (i = 0; i < objarray; i++) {
    if (str[i].checked == true) {
        con += str[i].value + ",";
    }
}

上面的JS是获取勾选了的checkbox的值,请问如何在勾选checkbox的同时,也能获取与他同一行的另一个td了的内容?

比如勾选 id="chk_1" 的checkbox,获取他的值是1,并且也能获取到QQ11;
同理,勾选了id="chk_1"和id="chk_2",获取值1,2,并且也能获取到QQ11,ZZ22。

请问应该怎么做呢?谢谢

阅读 5.3k
2 个回答

你把a标签也加个name;

var aList = document.getElementsByName("aName");
var content = '';
for (i = 0; i < objarray; i++) {
    if (str[i].checked == true) {
        con += str[i].value + ",";
        content += aList[i].innerText; // 因为a标签和input个数一样,对应的序号也一样。
    }
}

获取它父节点的兄弟节点的子节点
str[i].parentNode.nextSbiling.firstChild

推荐问题