2012-05-02 10 views
8

Mam przykładowy kod:addAttr nie działa w jquery?

<input type="text" name="color" id="color" value="" /> 

i jQuery

$('#color').change(function(){ 
    $('#color').addAttr('value', 'test'); 
}); 

Kiedy zmienić wartość w polu tekstowym jest wynikiem value="" i błąd w Firebug $("#color").addAttr is not a function

Jak to naprawić?

Odpowiedz

31

Nazywa się .attr(), a nie .addAttr().

Należy również wymienić swoje wewnętrzne $('#color') z $(this) się wskazywać, że jesteś manipulowania tym samym wkład, który jest zmieniany:

$('#color').change(function(){ 
    $(this).attr('value', 'test'); 
}); 
5

Można również zrobić:

$('#color').change(function(){ 
    $(this).val('test'); 
}); 
5

Jesteś zagubiony removeAttr() i myślisz, że addAttr() istnieje, to źle.

Funkcja, której potrzebujesz, to .attr()