Есть ли функция «существует» для jQuery?

Странно, я обнаружил, что УДАЛЕНИЕ &characterEncoding=UTF-8 из JDBC url сделал трюк для меня с аналогичными проблемами.

Основываясь на моих свойствах,

jdbc_url=jdbc:mysql://localhost:3306/dbName?useUnicode=true

, я думаю это поддерживает то, что сказал @Esailija выше, то есть мой MySQL, который действительно 5.5, выясняет свой собственный любимый вкус кодировки UTF-8.

(Заметьте, я также указываю InputStream Я читаю с UTF-8 в java-коде, что, вероятно, не больно) ...

2617
задан René 16 December 2017 в 11:29
поделиться

7 ответов

В JavaScript все - 'truthy' или 'falsy', и для чисел 0 (и NaN) средства false, все остальное true. Таким образом, Вы могли записать:

if ($(selector).length)

Вам не нужен тот >0 часть.

2359
ответ дан Tim Büthe 16 December 2017 в 21:29
поделиться
  • 1
    Это абсолютно работало на меня на Льве! Я должен был установить gfortran, но это пошло хорошо. – lumpidu 24 April 2012 в 21:52

Да!

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

if ($(selector).exists()) {
    // Do something
}

Это в ответ на: Пасущийся подкаст Кода с Jeff Atwood

1324
ответ дан vaxquis 16 December 2017 в 11:29
поделиться

Если бы Вы использовали

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

, то Вы подразумевали бы, что объединение в цепочку было возможно, когда это не.

Это было бы лучше:

jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }

, С другой стороны от FAQ:

if ( $('#myDiv').length ) { /* Do something */ }

Вы могли также использовать следующее. Если бы нет никаких значений в объектном массиве jQuery, затем получая первый объект в массиве, возвратился бы неопределенный.

if ( $('#myDiv')[0] ) { /* Do something */ }
360
ответ дан R3tep 16 December 2017 в 11:29
поделиться

Можно использовать:

if ($(selector).is('*')) {
  // Do something
}

А мало более изящный, возможно.

61
ответ дан Devon 16 December 2017 в 11:29
поделиться
if ( $('#myDiv').size() > 0 ) { //do something }

size() количества число элементов, возвращенное селектором

9
ответ дан sth 16 December 2017 в 21:29
поделиться
  • 1
    Это даст индексу списка за пределы ошибку, если то значение не будет установлено. – GWW 15 November 2010 в 20:28

С jQuery Вам не нужно >0, это - все, в чем Вы нуждаетесь:

if ($(selector).length)

С ванильным JS, можно сделать то же с:

if(document.querySelector(selector))

, Если Вы хотите превратить его в функцию, которая возвращает bool:

const exists = selector => !!document.querySelector(selector);

if(exists(selector)){
  // some code
}
0
ответ дан 22 November 2019 в 19:51
поделиться
if($(selector).length){...

Для тех, кто неправильно понят, что мы используем .length в качестве JavaScript встроенная функция

, МЫ НЕ ИСПОЛЬЗУЕМ JavaScript ВСТРОЕННАЯ ФУНКЦИЯ .length

предположим, что я взял один массив length = 2

var arr= ["",""];

, я пытаюсь удалить length из [1 111]

var arr= ["",""];
console.log(arr.length);
delete arr.length;
console.log(arr.length);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

От вышеупомянутого отрывка, Никакой я не могу удалить length из массива

О jQuery $(selector)

, у меня есть два элемента отделения, которые имеют class = "demo" затем:

var obj = $(".demo");
console.log(obj.length);
delete obj.length;
console.log(obj.length);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="demo"></div>
<div class="demo"></div>

От вышеупомянутого вывода в отрывке, я удалил length из [1 116]

, мы не используем встроенную функцию JavaScript .length

length, только КЛЮЧ в Объекте $(selector):

$(selector)["length"]
0
ответ дан 22 November 2019 в 19:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: