概要
これ、なにかと便利です。便利というか可読性がよい。
jQuery.fn.exists = function(){return Boolean(this.length > 0);}
複数個生成したくないDOMを追加する際にvalidateするときとかに使う。
formがsubmitされた際のalert表示を複数個追加したくなかったので、こういうのほしかったのです。
サンプル
jQuery.fn.exists = function(){return Boolean(this.length > 0);}
// <中略>
if ($(selector).exists()) {
// selectorが既に存在してた場合の処理
}
その他
追記1(2014/03/13 13:52)
これ、以下でも実現できるし、意味的にはこっちの記述も良い気がするけど、いろいろと冗長...
処理的に冗長だし、条件によっては一部結果に不備が出るようです。詳細は以下のコメントを参照。
(2014/03/14 10:40追記)
jQuery.fn.exists = function(){
return Boolean($("body:has(" + this.selector + ")").length > 0);
}