我查看了函数end(),
的jquery文档definition:结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。
我已经理解了这些功能,但我无法理解,它更有用。
前:
<p>text</p>
<p class="middle">Middle <span>text</span></p>
<p>text</p>
<script type="text/JavaScript">
alert(jQuery('p').filter('.middle').length); //alerts 1
alert(jQuery('p').filter('.middle').end().length); //alerts 3
alert(jQuery('p').filter('.middle').find('span')
</script>
我理解显示//alerts 3
的第二行,但它也可以写成
alert(jQuery('p').length); //alerts 3
那为什么额外的两个方法.filter
和.end()
,
请举个例子,其中.end()会很有用。
答案 0 :(得分:0)
<强> HTML 强>
<p>text</p>
<p class="middle">Middle <span>text</span></p>
<p>text</p>
在此p标签中作为兄弟元素
和pwith类“middle”具有子标签,即“span”标签
现在谈谈你的 js
<script type="text/JavaScript">
/*it display 1 and its right first we find p tag then in this we filter by "middle class"
and in p tag only one have this class so alert 1
*/
alert(jQuery('p').filter('.middle').length);
/*it display 3 and its right first we find p tag then in this we filter by "middle class" then again use end inn jquery then it again goes to previous selector means
(jQuery('p').filter('.middle') to jQuery('p')
so it alert 3
*/
alert(jQuery('p').filter('.middle').end().length); //alerts 3
/*it display 3 and its right first we find p tag then in this we filter by "middle class" then again use find span and it has one span in middle class so it alert 1
*/
alert(jQuery('p').filter('.middle').find('span').length); alert 1
</script>
参考end