jQuery ±éÀú - map() ·½·¨

ʵÀý

¹¹½¨±íµ¥ÖÐËùÓÐÖµµÄÁÐ±í£º

$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(", ") );

Ç××ÔÊÔÒ»ÊÔ

¶¨ÒåºÍÓ÷¨

map() °Ñÿ¸öÔªËØÍ¨¹ýº¯Êý´«µÝµ½µ±Ç°Æ¥Å伯ºÏÖУ¬Éú³É°üº¬·µ»ØÖµµÄÐ嵀 jQuery ¶ÔÏó¡£

Óï·¨

.map(callback(index,domElement))
²ÎÊý ÃèÊö
callback(index,domElement) ¶Ôµ±Ç°¼¯ºÏÖеÄÿ¸öÔªËØµ÷Óõĺ¯Êý¶ÔÏó¡£

Ïêϸ˵Ã÷

ÓÉÓÚ·µ»ØÖµÊÇ jQuery ·â×°µÄÊý×飬ʹÓà get() À´´¦Àí·µ»ØµÄ¶ÔÏóÒԵõ½»ù´¡µÄÊý×é¡£

.map() ·½·¨¶ÔÓÚ»ñµÃ»òÉèÖÃÔªËØ¼¯µÄÖµÌØ±ðÓÐÓá£Çë˼¿¼ÏÂÃæÕâ¸ö´øÓÐһϵÁи´Ñ¡¿òµÄ±íµ¥£º

<form method="post" action="">
  <fieldset>
    <div>
      <label for="two">2</label>
      <input type="checkbox" value="2" id="two" name="number[]">
    </div>
    <div>
      <label for="four">4</label>
      <input type="checkbox" value="4" id="four" name="number[]">
    </div>
    <div>
      <label for="six">6</label>
      <input type="checkbox" value="6" id="six" name="number[]">
    </div>
    <div>
      <label for="eight">8</label>
      <input type="checkbox" value="8" id="eight" name="number[]">
    </div>
  </fieldset>
</form>

ÎÒÃÇÄܹ»»ñµÃ¸´Ñ¡¿ò ID ×é³ÉµÄ¶ººÅ·Ö¸ôµÄÁÐ±í£º

$(':checkbox').map(function() {
  return this.id;
}).get().join(',');

Ç××ÔÊÔÒ»ÊÔ

±¾´Îµ÷ÓõĽá¹ûÊÇ×Ö·û´®£º"two,four,six,eight"¡£

ÔÚ callback º¯ÊýÄÚ²¿£¬this ÒýÓÃÿ´Îµü´úµÄµ±Ç° DOM ÔªËØ¡£¸Ãº¯Êý¿É·µ»Øµ¥¶ÀµÄÊý¾ÝÏ»òÕßÊÇÒª±»²åÈë½á¹û¼¯ÖеÄÊý¾ÝÏîµÄÊý×é¡£Èç¹û·µ»ØµÄÊÇÊý×飬Êý×éÄÚµÄÔªËØ»á±»²åÈ뼯ºÏÖС£Èç¹ûº¯Êý·µ»Ø null »ò undefined£¬Ôò²»»á²åÈëÈκÎÔªËØ¡£

VUE