jQuery 链接和切换未运行
如果我运行此代码,
var waitRow = $(this).parent().parent().next().get(0);
$(waitRow).children('td:nth-child(2)').html('some text').toggle();
则不会调用切换。
如果我改为编写以下代码,它就可以工作。为什么?
var waitRow = $(this).parent().parent().next().get(0);
$(waitRow).children('td:nth-child(2)').html('some text');
$(waitRow).toggle();
If I run this code,
var waitRow = $(this).parent().parent().next().get(0);
$(waitRow).children('td:nth-child(2)').html('some text').toggle();
toggle is not called.
If I instead write the following code it works. Why?
var waitRow = $(this).parent().parent().next().get(0);
$(waitRow).children('td:nth-child(2)').html('some text');
$(waitRow).toggle();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为您要切换子元素,而不是 waitRow,所以我相信您可以使用
.end()
来执行此操作:返回父元素。或者再次使用
.parent()
。参考:http://docs.jquery.com/Traversing/end
Because you are toggling the child element, not waitRow, I believe you could use
.end()
for this:To go back to the parent. Or use
.parent()
again.Reference: http://docs.jquery.com/Traversing/end
第一个尝试切换
children('td:nth-child(2)')
包装集中的第一项。 html() 方法返回第一个匹配的项目,而不是整个集合。第二个切换整行。
The first one tries to toggle the first item in the
children('td:nth-child(2)')
wrapped set. The html() method returns the first matched item and not the whole collection.The second one toggles the whole row.