jquery 标签选择器 用法遇到疑惑
jquery标签选择器第一种:varcatida=$(this).parent().parent().find("td.catid").text();第二种:varcat...
jquery 标签选择器
第一种:var catida = $(this).parent().parent().find("td.catid").text();
第二种:var catida = $(this).parent("td.catid").text();
感觉两种写法都是同样的效果啊 为么第一种有值 第二种是NULL啊
<tr class="odd">
<td width='10px'>{$cat.id}</td>
<td><input type='text' value="{$cat.lev|str_repeat=' ',###}{$cat.name}" cid="{$cat.id}" fieldname="name" style='border:none;background:#fff'></td>
<td><input type='text' value="{$cat.descr}" cid="{$cat.id}" fieldname="descr"style='border:none;background:#fff'></td>
<td class="catid">{$cat.time|date="Y-m-m H:i:s",###}</td>
<td>
<a href="javascript:void(0)" class="remcat" title="删除该分类" >
<img src="__INNO__/assets/icons/actions_small/delete.png" /></a>
</td>
</tr> 展开
第一种:var catida = $(this).parent().parent().find("td.catid").text();
第二种:var catida = $(this).parent("td.catid").text();
感觉两种写法都是同样的效果啊 为么第一种有值 第二种是NULL啊
<tr class="odd">
<td width='10px'>{$cat.id}</td>
<td><input type='text' value="{$cat.lev|str_repeat=' ',###}{$cat.name}" cid="{$cat.id}" fieldname="name" style='border:none;background:#fff'></td>
<td><input type='text' value="{$cat.descr}" cid="{$cat.id}" fieldname="descr"style='border:none;background:#fff'></td>
<td class="catid">{$cat.time|date="Y-m-m H:i:s",###}</td>
<td>
<a href="javascript:void(0)" class="remcat" title="删除该分类" >
<img src="__INNO__/assets/icons/actions_small/delete.png" /></a>
</td>
</tr> 展开
3个回答
展开全部
两种确实不一样,关键是你的这个$(this)到底是什么元素,它向查找的时候是否有class为catid的td?
比如说,你这个$(this)是你的问题补充里的第二个td中的那个input 元素,你用第一种选择的时候是向上查找两级的父元素(第一次.parent()是td,第二次.parnt()找到的是那个叫做odd的tr)然后再从这个tr中find查找叫做catid的td,这样肯定能找到。
第二种的话就是这个input向上查找叫做catid的td父元素,但是你看看,这个input元素有叫做catid的td父元素么?下面的td倒是有一个,但是那也不是input的父元素,所以第二种就找不到了
比如说,你这个$(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值
第二种:var catida = $(this).parent("td.catid").text();
第一种是找 当前对象的 父对象的 父对象下 的class为catid的td,取得其text值
第一种是找 当前对象的 父对象下 的class为catid的td,取得其text值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么会一样呢。。。
第一种是找当前对象的父对象的父对象下的class为catid的td,取得其text值,而第二种是找当前对象的父对象,而且要求这个父对象必须是class为catid的td,你觉得能一样吗?
第一种是找当前对象的父对象的父对象下的class为catid的td,取得其text值,而第二种是找当前对象的父对象,而且要求这个父对象必须是class为catid的td,你觉得能一样吗?
追问
都是取值啊! 第二种 不也是 取他父对象 并且CLASS为catid的值啊?
追答
关键是,这个父对象是否存在?
——————————————————
都已经说到这个地步了你还是查不出来,那只能说跟你说再多也是浪费时间。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询