\n<html>\n\t<head>\n\t\t<title>Test</title></head><body>\n\t\t<form id='TestForm' name='TestForm'>\n\t\t\t<select id='TestList' name='TestList'>\n\t\t\t\t<option value='1'>Test Me #1</option>\n\t\t\t\t<option value='2'>Test Me #2 - a long one</option>\n\t\t\t</select>\n\t\t</form>\n\t</body>\n\t<script>\n\t\tfunction displayWidths(desc, tlst) {\n\t\t\tisIE = document.all;\n\t\t\tif(isIE) {\n\t\t\t\ttlst_cs_width = tlst.currentStyle.width;\n\t\t\n\t\t\t} else {\n\t\t\t\ttlst_comp_width = document.defaultView.getComputedStyle(tlst, '').getPropertyValue("width");\n\t\t\t}\n\t\t\t\n\t\t\tresults = desc + "\\n" +\n\t\t\t\t\t"clientWidth = " + tlst.clientWidth + "\\n" +\n\t\t\t\t\t"style.width = " + tlst.style.width + "\\n";\n\t\t\tif(isIE) {\n\t\t\t\tresults += "currentStyle.width = " + tlst_cs_width + "\\n"; \n\t\t\t} else {\n\t\t\t\tresults += "ComputedStyle Width = " + tlst_comp_width + "\\n";\n\t\t\t}\n\t\t\talert(results);\n\t\t\treturn;\n\t\t}\n\t\t\t\t\n\t\ttlst = document.getElementById("TestList");\n\t\tdisplayWidths("Before", tlst);\n \t tlst.style.width = 100;\n\t\tdisplayWidths("Set to 100", tlst);\n\t</script>\n</html>\n
Apparently currentStyle (IE) and getComputedStyle (DOM) are the way to get style info that wasn't set inline. I'm not sure why Moz returns a shorter value than IE.