map
更新日: 2018-09-11
.map(callback)
各要素をループ処理して、インスタンスの内容を変更します。
.map(function(){});
パラメータ
- callback: function
- 保持する要素を返すコールバック。
node
とindex
をパラメータとして受け取ります。
戻り値としてfalse
、単一な要素、 文字列、配列、Umbrellaインスタンスを返すことができます。 重複したノードは削除されます。
UmbrellaではHTMLノードを処理するため、""(空文字列)
や0
はfalse
と見なし、削除します。 要素を保持するにはHTMLノードまたは、HTML文字列を返す必要があります。
var links = u('.special li').map(function(node, i){
if (parseInt(node.innerHTML) > 10) {
return '<a>' + u(node).data('id') + '</a>';
}
}).addClass('expensive');
戻り値
- u
- 保持するノードを持ったUmbrellaのインスタンスを返します。
例
親要素を取得します。 (.parent()
を参照してください。)
var lists = u('li').map(function(node){ return node.parentNode });
デモ
以下のリストをクリックすると、 リストのul
を取得してul
の数を表示し、 ul
のnodeオブジェクトをconsole.log
に出力します。
- 1-1
- 1-2
- 2-1
- 2-2
- 2-2-1
JavaScript
u('#demo').on('click', function() {
var lists = u('#demo li').map(function(node){ return node.parentNode });
console.log(lists);
u('#demo div').append('<span>' + lists.nodes.length + '</span>');
});
HTML
<div id="demo">
<ul>
<li>1-1</li>
<li>1-2</li>
<li></li>
</ul>
<ul>
<li>2-1</li>
<li>2-2<ul>
<li>2-2-1</li>
</ul>
</li>
</ul>
<div></div>
</div>
関連項目
.each()
要素の内容を変更せずにループ処理します。
© 2014 Francisco Presencia Released under the MIT license
このコンテンツはFrancisco Presencia(franciscop)によるUmbrella JSドキュメントを翻訳/改変したものです。