单击复选框时如何获取下一个td
的内容
<table>
<tr>
<td>
<input type=checkbox name=t>
</td>
<td width=25%>
FOOBAR
</td>
<td width=73%>
BAZ
</td>
</tr>
<tr>
<td>
<input type=checkbox name=t>
</td>
<td width=25%>
FOO
</td>
<td width=73%>
BAR
</td>
</tr>
</table>
我的javascript代码:
var c=new Array();
c=window.document.getElementsByTagName('input');
for(var i=0;i<c.length;i++)
{
if(c[i].type=='checkbox')
{
alert(c[i].parentNode.parentNode.rows[0].innerHTML);
}
}
我在点击复选框时尝试获取下一个td的内容。对于第一行,应该提取FOOBAR
,依此类推。
修改
要点注意:我非常确定我正在使用的标签 这个问题。请不要发布任何指向某些JS的答案 图书馆jQuery等。
答案 0 :(得分:1)
这似乎有效,虽然它依赖于非常 HTML(当然,涉及到DOM遍历的JavaScript很多):
var c = [];
c = window.document.getElementsByTagName('input');
for (var i = 0; i < c.length; i++) {
if (c[i].type == 'checkbox') {
c[i].onchange = function() {
if (this.checked){
console.log(this.parentNode.nextElementSibling.firstChild.nodeValue.trim());
}
};
}
}
参考文献:
答案 1 :(得分:0)
我使用过jQuery。我猜这没关系?
$('input:checkbox').live('click', function() {
alert($(this).parent().next('td').text());
});
答案 2 :(得分:0)
使用jQuery,会更好,这里是你的解决方案:
$('[type=checkbox]').on('click', function(){
var html;
if($(this).is(':checked')) {
html = $(this).parent().next('td').html();
alert(html);
}
});