2010-04-28 10 views
8

Czy ten zapis do używania przez czas nie równa w JS w kodzie jqueryNot Equal Aby notacji JavaScript, aby korzystać w jQuery

!== OR != 

Żaden z nich nie działa

Oto kod Jestem stosując

var val = $('#xxx').val(); 
if (val!='') { 
alert("jello"); 
} 

Thanks Jean

+0

jQuery to kod JavaScript. Nie ma różnicy. – nickf

+0

Zobacz tabelę porównawczą w tym pytaniu http://stackoverflow.com/questions/80646/ Jest to dla PHP, ale w większości dotyczy również JavaScript. – nickf

Odpowiedz

19

Równość testowanie w JQuery działa nie różni się od "standardowej" JavaScript.

!= oznacza "nie równa się", ale !== zapewnia, że ​​obie wartości mają również ten sam typ. Na przykład: 1 == '1' jest true, ale nie 1 === '1', ponieważ wartość LHS jest liczbą, a wartość RHS jest łańcuchem.

Biorąc pod uwagę Twój przykład, nie możemy powiedzieć wiele o tym, co się dzieje. Potrzebujemy prawdziwego przykładu.

+0

Zastanawiam się, jaka jest możliwa wartość sprawdzania typu, gdy nie jest równa, czy ktoś wie? – Darren

1

Może masz spacje w węźle #XXX, dlatego zarówno == a = braku, można spróbować następujących do badań bez białych znaków

var val = $('#xxx').val(); 

if (/\S/.test(val)){ 
    alert('jello'); 
} 

Uwaga:! Zakładam, że jQuery jest. val() nie zwraca wartość null z powodu tej linii w źródle jQuery

return (elem.value || "").replace(/\r/g, ""); 

jeśli nie, to trzeba zrobić tak

if (val && /\S/.test(val)){ 
    alert('jello'); 
} 
2

.val() służy do pobierania lub ustawiania wartości z danych wejściowych w formularzach, czy to właśnie chcesz zrobić? Jeśli nie, to znaczy, że używasz .text() lub .html().

Jeśli rzeczywiście chcesz to zrobić, być może twój selektor jest nieprawidłowy, a ty zwracasz wartość zerową, a wartość null nie jest równa ", lub może faktycznie masz tam dane, takie jak spacje. :)

0

Działa z jquery i normalnym skryptem java.

Powinieneś sprawdzić (ostrzec/debugować) swoją zmienną val dla jej wartości i wartości zerowej.

Powinieneś również sprawdzić $('#xxx').length, czy otrzymujesz elementy, czy nie dostaniesz innych, stąd twój warunek if będzie fałszywy.

Powiązane problemy