2017-09-08 3 views
1

Warum funktioniert diese Funktion nicht, wenn ich auf die Schaltfläche "Rate me" klicke?JavaScript-Funktion funktioniert nicht mit Anker-Tag Klicken Sie auf

function incrementValue(){ 
 
    var value = parseInt($("#rateme").value, 10); 
 
    value = isNaN(value) ? 0 : value; 
 
    value++; 
 
    $("#rateme").value = value; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li> 
 
    <a onclick="incrementValue()">Rate me</a><input type="text" id="rateme" value="50" /> 
 
    </li> 
 
</ul>

+0

Der Funktionsaufruf ist okay.The Problem könnte ich mit der Logik. https://jsfiddle.net/w056zv3L/ –

+0

Warum würden Sie die Inline-Javascript-Ereignisbehandlung anstelle von jQuery verwenden? –

+0

@ErikPhilips Es beginnt zu arbeiten, wenn ich ID zu #number ändere. was ist der Grund? – Rohit

Antwort

2

In jQuery, dann ist es $("#rateme").val() nicht $("#rateme").value, das ist für DOM-Elemente nicht jQuery Objekte:

function incrementValue(){ 
 
    var value = parseInt($("#rateme").val(), 10); 
 
    value = isNaN(value) ? 0 : value; 
 
    value++; 
 
    $("#rateme").val(value); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<li><a onclick="incrementValue()">Rate me</a><input type="text" id="rateme" value="50" /></li>

+0

Es beginnt zu arbeiten, wenn ich ID zu #number ändere. was ist der Grund? – Rohit

+0

@Rohit es geht nicht um die ID, Sie können ändern, was auch immer Sie wollen, solange Sie es richtig verwenden, das Problem ist, dass Sie eine Dom-Methode auf einem Jquery-Objekt aufrufen, die nicht korrekt ist. –

+0

Aber es funktioniert, wenn ich es ändere – Rohit

Verwandte Themen