问题描述
- jquery closest的疑问
- jquery中的closest方法可以用来查找制定的父类元素,并可以设置查询的上下文context,不过如果context正好是closest找的父类的话,貌似会被过滤掉,不知道是否是jquery的问题还是我理解有问题。代码如下:
jquery:
var contextElem = document.getElementById(""row1""); $(""img"").closest("".drow""contextElem).each(function(indexelement){ console.log(""Element:"" + element.tagName + "" "" + element.id + "" "" + element.className); });<div id=""oblock""> <div class=""dtable""> <div id=""row1"" class=""drow""> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06aster.png""/><label for=""aster"">aster:</label> <input name=""aster"" value=""0"" required> </div> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06daffodil.png""/><label for=""daffodil"">daffodil:</label> <input name=""daffodil"" value=""0"" required> </div> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06 ose.png""/><label for=""rose"">rose:</label> <input name=""rose"" value=""0"" required> </div> </div> <div id=""row2"" class=""drow""> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06peony.png""/><label for=""peony"">peony:</label> <input name=""peony"" value=""0"" required> </div> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06primula.png""/><label for=""primula"">primula:</label> <input name=""primula"" value=""0"" required> </div> <div class=""dcell""> <img src="".精通jQurery(2版)源代码Chapter 06snowdrop.png""/><label for=""snowdrop"">snowdrop:</label> <input name=""snowdrop"" value=""0"" required> </div> </div> </div> </div>
输出的结果是:elementId 是row2;
安jquery的描述应该是返回row1才对。。。谁可以帮忙解释下,谢谢!
解决方案
http://www.w3school.com.cn/jquery/traversing_closest.asp
解决方案二:
http://www.w3school.com.cn/jquery/traversing_closest.asp
解决方案三:
http://www.w3school.com.cn/jquery/traversing_closest.asp
解决方案四:
jQuery中的closest()和parents()的区别
jquery parents closest
解决方案五:
你指定了上下文,可定是在context下找了,你看源代码就清楚了
var pos = jQuery.expr.match.POS.test( selectors ) ? jQuery( selectors context || this.context ) : null; return this.map(function( i cur ) { while ( cur && cur.ownerDocument && cur !== context ) { if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) { return cur; } cur = cur.parentNode; } return null; });
时间: 2024-10-03 20:02:19