tohokuaikiのチラシの裏

技術的ネタとか。

jQueryのparent()とparents()の違い

テストコード

<html>
  <head>
	<script src=" http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.1.min.js"></script>
	<script>
	  $(function(){
	  console.log($('.bold').parents()); 
	  console.log($('.bold').parent()); 
      })
	</script>
  </head>
  <body>
	<div>div,
	  <span>span, </span>
	  <b class="bold">b </b>
	</div>
	<p>p,
	  <span>span,
		<em>em </em>
	  </span>
	</p>
	<div>div,
	  <strong>strong,
		<span>span, </span>
		<em>em,
		  <b class="bold">b, </b>
		</em>
	  </strong>
	  <b>b </b>
	</div>
  </body>
</html>

結果

parentsはセレクタの親要素をルート(HTMLタグ)までたどったものをすべてまとめて返す
parentはセレクタの直上の親要素を返す

のだけど、セレクタが複数のDOMに相当した場合は、それらをごちゃまぜにしたもので返すので注意。