这是代码,它引用了TD,“farmland”是表的id:
$("#farmland td").click(function(){
$("#console").html($(this).index() + 1 + ", " + $(this).parent().index() + 1);
});
当我点击一个TD时,我得到1,01或1,11或1,21等...这个数字正在为.index()正确添加但是对于.parent()。index()它正在追加1好像是一个字符串!
认为这是非常好奇的,因为我预计它要么采取一种方式,要么采取另一种方式,而不是两种不同的方式!
我的第一个猜测可能是因为我的+ ", " +
正在将其切换为字符串?
答案 0 :(得分:8)
这是因为JavaScript看到第一个index()
调用返回一个数字,它将数字加1,然后你将它与一个字符串组合,所以它将数字连接到字符串
另外,无论字符串如何,都要使用括号来隔离字符串中的数字:
$("#farmland td").click(function(){
$("#console").html(($(this).index() + 1) + ", " + ($(this).parent().index() + 1));
});
答案 1 :(得分:0)
每当你想强制对var进行数字评估时,你可以使用1 * your_var这样的数字,它将被解释为数字
答案 2 :(得分:0)
它被称为从左到右的相关性。
答案 3 :(得分:0)
当有更好的工具可用时,连接有点难看。怎么样:
$("#farmland td").click(function(){
$("#console").html([$(this).index() + 1, $(this).parent().index() + 1].join(", "));
});