jquery 为什么要用tbody

$("tbody>tr:odd").addClass("odd");$("tbody>tr:even").addClass("even");$('tbody>tr').c... $("tbody>tr:odd").addClass("odd");
$("tbody>tr:even").addClass("even");
$('tbody>tr').click(function() {
//判断当前是否选中
var hasSelected=$(this).hasClass('selected');
//如果选中,则移出selected类,否则就加上selected类
$(this)[hasSelected?"removeClass":"addClass"]('selected')
//查找内部的checkbox,设置对应的属性。
.find(':checkbox').attr('checked',!hasSelected);
});
// 如果复选框默认情况下是选择的,则高色.
$('tbody>tr:has(:checked)').addClass('selected');
这段代码,为什么tbody替换为table或者$(".table")(获取样式为.table的表格)不可以呢,望高手指点
展开
 我来答
随性亻
推荐于2017-09-29 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:637万
展开全部
tbody是table的内置属性,这是基本的html,还有thead,tfoot,分别是表头,表尾。

可以换成table,但是要写成$('table tr:has(:checked)'),就是“>”要去掉,这个是表示下一级的,你换成table了,tr是在tbody下的,所以table的下一级当然找不到tr了,而是tbody。
或者$(".table").find("tr:has(:checked)")也可以的。
匿名用户
2011-12-23
展开全部
tbody是table的内置属性,这是基本的html,还有thead,tfoot,分别是表头,表尾。

可以换成table,但是要写成$('table tr:has(:checked)'),就是“>”要去掉,这个是表示下一级的,你换成table了,tr是在tbody下的,所以table的下一级当然找不到tr了,而是tbody。
或者$(".table").find("tr:has(:checked)")也可以的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
濮焮戎fO
2011-12-22 · TA获得超过371个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:492万
展开全部
tbody元素是必须的,就是你页面代码没写tbody真正运行的时候页面会给每个table加一个tbody,所以你换成table以后元素的父子链就连不起来当然就找不到元素无效果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式