Pertanyaan pengecualian jQuery jika elemen tidak ada


Saya bekerja dengan jQuery dan saya perlu mendapatkan kapan saja dan ada pengecualian (dengan operasi apa pun), jika saya melampirkan beberapa acara atau mencoba melakukan beberapa tindakan dengan elemen (dapatkan dari pemilih) yang tidak ada. Apakah ada mode internal "ketat" di jQuery untuk masalah ini?


4
2018-05-11 15:48


asal


Jawaban:


Tidak, tidak ada.

Namun, Anda bisa membuat plugin sederhana untuk itu:

$.fn.checkEmpty = function() {
    if (!this.length)
        throw new Error("No elements matched by " + this.selector);
    return this;
};

$('...').checkEmpty().bind(...);

Kalau tidak:

function $s() { return $.apply(this, arguments).checkEmpty(); }

$s('...').bind(...);

5
2018-05-11 15:51



Periksa pos ini untuk mengetahui cara menangani "ada"

Ada di jquery


1
2018-05-11 15:59



Tidak, ini adalah keindahan jQuery.

Anda bisa membuat fungsi wrapper

function myjQuery() {
  var res = $.apply(this, arguments);

  if (!res.size()) {
    throw new Error("No elements matched :(");
  };

  return res;
};

myjQuery('input').each();

Ini tidak akan menutupi set kosong yang dikembalikan dengan menggunakan find() atau filter() dan sejenisnya, tapi humm ...


0
2018-05-11 15:53