0

私は多くの$(".blahblah").size()>0条件を含むコードに取り組んでいます。入力する必要をなくす JQuery の省略形があるかどうか疑問に思っていました>1

ここに提案があります: http://forum.jquery.com/topic/selector-exists-would-be-a-nice-addition

のようなもの$(...).exists()が便利です。そのようなことはありますか?私はインターネット上でそれを見つけることができませんでした.誰かがトリックを知っているか、そのような機能が追加される予定があるかどうかを知っているJQueryチームの誰かがいるのだろうかと思っていました.

PS。私はこれを読みました:jQueryの「存在する」機能はありますか?

4

4 に答える 4

3
function moreThanOne(selector){
  return $(selector).length > 1;
}

length解決策は、そのために function を使用することであり、代わりに を使用することもできますsize()

Jqueryのドキュメントから

.size() メソッドは機能的には .length プロパティと同等です。ただし、関数呼び出しのオーバーヘッドがないため、.length プロパティが優先されます。

于 2012-04-11T07:03:11.157 に答える
1

別のオプションは

if($(".blahblah")[0]) { ... }

あなたの目標がタイピングを減らす場合

于 2012-04-11T07:05:13.930 に答える
0

exists次のように独自の関数を作成できます。

function exists(selector){
  return jQuery(selector).size() > 0;
}

そして、次のように使用できます。

if (exists(".blahblah")) {
  // it exists
}

jQuery に追加fn:

jQuery.fn.exists = function(){
    return this.length > 0;
}

使用するには:

if ($(".blahblah").exists()) {
  // it exists
}

length入力する必要のないプロパティを使用することもでき> 0ます。

if ($(".blahblah").length) {
  // it exists
}
于 2012-04-11T07:01:14.607 に答える
0

「has」セレクターを使用します。

あなたは書ける:

$(':has(.blahblah:eq(1))') 
于 2012-04-11T07:06:56.230 に答える