2015-05-12 15 views
7

Ich habe ein Problem mit Jquery enthält. Es funktioniert perfekt auf Firefox.jQuery enthält funktioniert nicht auf Chrome

Dies ist mein Code.

$("input[data-height='cm']").blur(function(){ 
    var text = $(this).val(); 

    if($(this).val().length > 0) { 
     if(!$(this).val().contains("cm")) { 
      $(this).val(text + " cm"); 
     } 
    } 
}); 

auf Chrom geben Fehler

Uncaught TypeError: $(...).val(...).contains is not a function

Wie kann ich es beheben bitte helfen.

Vielen Dank.

+0

Das funktioniert nicht so. Sie möchten wahrscheinlich etwas wie 'indexOf',' match' oder 'test' verwenden. – putvande

+1

Sie versuchen, 'jQuery contains'-Methode für' JavaScript string' zu verwenden. –

+0

enthält Methode ist von jquery Plugin oder Sie können mit dom Elementselektor in jquery aufrufen, Sie können dies nicht auf Zeichenfolge aufrufen. hierfür müssen Sie indexOf verwenden. – syms

Antwort

8

Verwenden indexOf statt contains

if($(this).val().indexOf("cm") == -1) { 
    $(this).val(text + " cm"); 
} 
+0

Für Ihre Referenz .. https://api.jquery.com/jQuery.contains/ –

+0

Das $ .contains funktioniert als Selektor. – captainsac

+0

Vielen Dank für die Antwort –

3

könnten Sie test verwenden:

if(!/cm/.test($(this).val())) { 
    $(this).val(text + " cm"); 
} 
2

Es gibt keine solche Verfahren wie contains in Chrome. Stattdessen sollten Sie besser verwenden indexOf:

// Instead of... 
if ($(this).val().contains('cm')) { /* val() contains 'cm' */ } 
// ...do this: 
if ($(this).val().indexOf != -1) { /* val() contains 'cm' */ } 

Bitte beachten Sie, dass indexOf -1, wenn Vorkommen nicht in Zeichenfolge gefunden wird und> = 0, wenn Vorkommen gefunden wird.

3

.contains() überprüft, ob ein DOM-Element ein Nachfahre eines anderen DOM-Element ist daher Sie es mit jquery Objekte verwenden sollten:

Hier können Sie indexOf() Funktion verwenden, um die Inhalte des Wertattribut zu überprüfen.

if($(this).val().indexOf("cm")>=0) { 

} 

Sie können für weitere Informationen .contains() verweisen.

Verwandte Themen