两种确实不一样,关键是你的这个$(this)到底是什么元素,它向查找的时候是否有class为catid的td?
比如说,你这个$(this)是你的问题补充里的第二个td中的那个input 元素,你用第一种选择的时候是向上查找两级的父元素(第一次.parent()是td,第二次.parnt()找到的是那个叫做odd的tr)然后再从这个tr中find查找叫做catid的td,这样肯定能找到。
第二种的话就是这个input向上查找叫做catid的td父元素,但是你看看,这个input元素有叫做catid的td父元素么?下面的td倒是有一个,但是那也不是input的父元素,所以第二种就找不到了
第一种:var catida = $(this).parent().parent().find("td.catid").text();
第二种:var catida = $(this).parent("td.catid").text();
第一种是找 当前对象的 父对象的 父对象下 的class为catid的td,取得其text值
第一种是找 当前对象的 父对象下 的class为catid的td,取得其text值
怎么会一样呢。。。
第一种是找当前对象的父对象的父对象下的class为catid的td,取得其text值,而第二种是找当前对象的父对象,而且要求这个父对象必须是class为catid的td,你觉得能一样吗?