play_ Posted November 22, 2007 Share Posted November 22, 2007 Basically what im trying to do is change the style of a div. This is the function i use: function change(target, value) { div = document.getElementById(target) div.style.borderWidth = value; } then i have a link like this: <a href="#" onclick="change('test', '4px')">click</a> It works fine. However, when i try to pass the a property name, it doesnt work. example: function change(target,property, value) { div = document.getElementById(target) div.style.property = value; } <a href="#" onclick="change('test','borderWidth' '4px')">click</a> Any ideas why? Quote Link to comment Share on other sites More sharing options...
Zane Posted November 22, 2007 Share Posted November 22, 2007 try using function change(target,property, value) { div = document.getElementById(target) div.style[property] = value; } Quote Link to comment Share on other sites More sharing options...
play_ Posted November 22, 2007 Author Share Posted November 22, 2007 Thank you. Could you tell me why it has to be in that format though? Quote Link to comment Share on other sites More sharing options...
Zane Posted November 23, 2007 Share Posted November 23, 2007 because borderWidth is inside the array style say you have an array called arr with 4 items you can either use arr.2 = 'whatever'; or arr[2] to edit the value and the same works for associative arrays...like style has style.borderWidth = style['borderWidth'] style.marginLeft = style['marginLeft'] Quote Link to comment Share on other sites More sharing options...
play_ Posted November 23, 2007 Author Share Posted November 23, 2007 Oh okay. Thanks again Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.