jquery 中的 $('element , #id') 和 $('element', '#id') 有什么区别

what is differences between $('element , #id') and $('element', '#id') in jquery

我知道 $('element, #id') 选择所有 元素 & #id. 但是 $('element', '#id') 是做什么的!? 我只知道它们不相似。那有什么区别呢?

$('element, #id') - multiple selector 将选择所有具有给定标记名的元素和具有给定 id 的元素

$('span, #myid').addClass('myclass');//all spans and the myid element is selected
.myclass {
  border: 1px solid red;
  margin: 2px;
  padding: 3px;
}
#myid.myclass {
  border-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span>1</span>
<p>
  <span>2</span>
</p>
<div id="myid">
  <span>3</span>
</div>

$('element', '#id') - 是 context based 搜索,即它将找到所有具有给定 tagName 的元素,这些元素是具有给定 ID

的元素的后代

$('span', '#myid').addClass('myclass'); //only span elements under myid is selected
.myclass {
  border: 1px solid red;
  margin: 2px;
  padding: 3px;
}
#myid.myclass {
  border-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span>1</span>
<p>
  <span>2</span>
</p>
<div id="myid">
  <span>3</span>
</div>