2013-07-25 18 views
22
numaralı öğeye ekle

Öğeime css öznitelikleri eklemek istiyorum. Ama ben buradaki kodu kullanarak bunu yaptığımda, element üzerinde bir etkisi olan tüm nitelikleri kaybediyorum.Css özniteliğini

float: left; 
width: 50px; 

ve sonra sadece javascript yönteminden belirli özellikler var: ben bu yöntemi kullanmadan önce

function checkNr(id) { 
    var value = document.getElementById(id).value; 
    if (parseFloat(value) == NaN) { 
     document.getElementById(id).setAttribute("style", "border:2px solid red; background-color: rgb(255, 125, 115);"); 
    } 
    else { 
     document.getElementById(id).setAttribute("Style", "border:default; background-color: rgb(255, 255, 255);"); 
    } 

} 

o özelliklere sahiptir. Yani, onları değiştirmeyecek nitelikler eklemek istiyorum.

cevap

35

Stil özniteliğini bu şekilde ayarlama, özniteliğin üzerine yazar ve önceden ayarlanmış stilleri kaldırır.

stil özelliğini değiştirerek yerine doğrudan stilleri ayarlanır Ne gerçekten yapmalıdır:

function checkNr(id) { 
    var elem = document.getElementById(id), 
     value = elem.value; 
    if (parseFloat(value) == NaN) { 
     elem.style.border = '2px solid red'; 
     elem.style.backgroundColor = 'rgb(255, 125, 115)'); 
    } else { 
     elem.style.border = 'none'; 
     elem.style.backgroundColor = 'rgb(255, 255, 255)'); 
    } 
} 
-9
$(this).css('border', 'default'); 

Ayrıca .css() fonksiyonunun dizinin olarak parametresi iletebilirsiniz. Bu mevcut css özelliklerinizi geçersiz kılmaz. gibi durumda

bu olurdu şey: bir JavaScript işlevi değil

document.getElementById(id).css({ 
    border: '2px solid red;', 
    background-color: 'rgb(255, 125, 115)' 
}); 

link to javascript css() function

+8

, o jQuery fonksiyondur. –

İlgili konular