jQuery -> end方法的用法

我们在对结果集使用find、filter等方法时,会改变结果集。


这种改变原先结果集的方法被称作destructive jQuery method


jQuery cookbook有如下定义:

A destructive operation is any operation that changes the set of matched jQuery elements, which means any traversing or manipulation method that returns a jQuery object, includingadd(), andSelf(), children(), closes(), filter(), find(), map(), next(), nextAll(), not(), parent(), parents(), prev(), prevAll(), siblings(), slice(), clone(), appendTo(), prependTo(), insertBefore(), insertAfter(), replaceAll()


具体用法如下

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
</head>
<body>
	<p>Text</p>
	<p class="middle">Middle <span>Text</span></p>
	<p>Text</p>
<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript">
	alert($('p').filter('.middle').length); // alerts 1
	alert($('p').filter('.middle').end().length); // alerts 3
	alert($('p').filter('.middle').find('span').end().end().length); // alerts 3
</script>
</body>
</html>



当对$('p')的结果执行filter('.middle')时,只有<p class="middle">Middle <span>Text</span></p>符合结果。

继续对上述操作执行end(),则filter()产生的作用被撤销,结果集中包含三个<p>

你可能感兴趣的:(jquery,method,end,Destructive)