单击复选框时获取下一个TD的内容
Fetch content of next td on checkbox click
单击复选框时如何获取下一个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的答案 图书馆例如。j查询等
这似乎有效,尽管它非常依赖于 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());
}
};
}
}
JS小提琴演示。
引用:
-
firstChild
. - '下一个元素兄弟。
-
nodeValue
. -
parentNode
. -
trim()
.
我用过jQuery。我猜没事吧?
$('input:checkbox').live('click', function() {
alert($(this).parent().next('td').text());
});
http://jsfiddle.net/6Mwqz/
使用 jQuery,会更好,这里是您的解决方案:
$('[type=checkbox]').on('click', function(){
var html;
if($(this).is(':checked')) {
html = $(this).parent().next('td').html();
alert(html);
}
});
演示:http://jsfiddle.net/oscarj24/yYuzS/
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- AngularJS&JSON-从Previous&下一个对象
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 来自文档或下一个静态父级的事件委派
- angularjs移除焦点上的活动类并添加到下一个项目
- 禁用旋转木马中的下一个按钮和上一个按钮
- 当按下一个键时,请多次按下不同的键
- 正在加载下一个帖子
- 无法获取下一个td值
- 更改“th”的背景颜色,更改为紧接着的下一个td
- 单击复选框时获取下一个TD的内容
- 单击更改下一个TD表
- jQuery在td中找到下一个锚元素
- 如何在动态创建的下一个td文本框中获得选中的具有相同值的复选框的计数
- 使用j查询查找下一个td元素
- 如何检查下一个td是否在一个tr空或不使用jQuery
- 在td -访问下一个单元格中单击