X



jQuery 質問スレッド vol.7 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2016/11/02(水) 11:51:34.33ID:???
JavaScriptでDOM用ライブラリであるjQueryのスレです。

このスレはjQueryやjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
jQueryを使って作る側のスレであって、こんなプラグインありませんか?と聞くスレではありません。
そういうのは自分で探してください。
ろくにサポートもされてなさそうな野良プラグインの使用はおすすめしません。

JavaScriptの質問は関連スレで質問して下さい。

■前スレ
+ JavaScript & jQuery 質問用スレッド vol.6 +
http://echo.2ch.net/test/read.cgi/hp/1465566635/

■関連スレ
+ JavaScript の質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472426483/
+ JavaScript(ECMAScript)質問用スレッド vol.122 +
http://echo.2ch.net/test/read.cgi/tech/1472401404/
+ JavaScript の質問用スレッド vol.131 +
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465399470/
+ JavaScript & jQuery 質問用スレッド vol.6 +
http://echo.2ch.net/test/read.cgi/hp/1465566635/
0636Name_Not_Found
垢版 |
2017/06/01(木) 03:59:08.74ID:???
> (function($) {})(jQuery);
> で括っていたのが良くなかったのかもしれません。
まったく関係ない

プラグインの作成自体はよっぽど変なものでない限り、
jQuery読み込みのあとならどこでも良い。もちろん<head>でもよい

ただ<head>に書くなら(正確に言うならば<タグ id="#test">登場以前に書くなら)
$(function() {
// Document is ready
});
を使わないとDOM構築前に実行されてしまうから見えないだけ
0637Name_Not_Found
垢版 |
2017/06/01(木) 04:04:15.17ID:???
あとな、例外的なプラグインもあるからあえて言わなかったんだが、
$('#test').test(); だけではなく、$('.test').test(); こういう風に
複数の要素にマッチする場合でも逆に全くマッチしない場合でも動くように作るのが良い
そしてチェーンできるようにするべき

だからこのサンプルのように、複数の要素に対して処理を適用してreturn thisするのが王道
※プラグインにおいてthisはDOM要素ではなくjQueryオブジェクトであることに注意
つまり>>630のように$(this)とする必要はない

https://learn.jquery.com/plugins/basic-plugin-creation/

$.fn.greenify = function() {
 this.css( "color", "green" );
 return this;
}


もしくは、複数の要素に対して一要素ずつ何かの処理を適用したい場合は、
eachでループするこっちのパターンもおなじみ

$.fn.myNewPlugin = function() {
 return this.each(function() {
  // Do something to each element here.
 });
};
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況