$(‘div.band div.member’);
将为您提供一个jQuery对象,其中包含
<div>与选择器匹配的jQuery对象,即与class
member相同的div是与class的div的后代
band。
jQuery对象是一个类似于数组的对象,其中为每个匹配的元素分配了该对象的数值属性(如索引),并且
length还定义了一个属性。得到一个元素是
// first element$('div.band div.member')[0];要么
// first element$('div.band div.member').get(0);除了选择所有元素,您还可以指定根据DOM中的位置选择特定元素。例如
// get the first div with class member element$("div.band div.member:eq(0)")要么
// get the first div with class member element$("div.band div.member:nth-child(1)")编辑:
这是我刚刚淘汰的插件
(function($) {$.fn.randomize = function(childElem) { return this.each(function() { var $this = $(this); var elems = $this.children(childElem); elems.sort(function() { return (Math.round(Math.random())-0.5); }); $this.detach(childElem); for(var i=0; i < elems.length; i++) $this.append(elems[i]); }); }})(jQuery);这是一个 工作示例 。将 /edit添加到URL以查看代码。如果您需要有关其工作原理的任何详细信息,请发表评论。它可能可以使它在处理某些情况时更加健壮(例如,如果该插件希望连接到jQuery对象的其他子元素),但它会满足您的需求。
演示中的代码
$(function() { $('button').click(function() { $("div.band").randomize("div.member"); });});(function($) {$.fn.randomize = function(childElem) { return this.each(function() { var $this = $(this); var elems = $this.children(childElem); elems.sort(function() { return (Math.round(Math.random())-0.5); }); $this.remove(childElem); for(var i=0; i < elems.length; i++) $this.append(elems[i]); }); }})(jQuery);HTML
<div > <div > <ul> <li>John</li> <li>Lennon</li> </ul> </div> <div > <ul> <li>Paul</li> <li>McCartney</li> </ul> </div> <div > <ul> <li>George</li> <li>Harrison</li> </ul> </div> <div > <ul> <li>Ringo</li> <li>Starr</li> </ul> </div></div><button>Randomize</button>



