测试成功,没有问题,给分<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test </title>
<script type="text/javascript">
window.onload=function()
{
var sel=document.body.getElementsByTagName("select");
var k=0;
for(i=0;i<sel.length;i++)
{
for(j=i;j<sel.length;j++)
{
k=i;
if(sel[k].offsetWidth<sel[j].offsetWidth)
{
k=j;
}
}
sel[i].style.width=sel[k].offsetWidth+"px";
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td>
<select id="sel1">
<option>1 </option>
<option>2 </option>
<option>3 </option>
<option>4 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel2">
<option>11111 </option>
<option>22222 </option>
<option>33333 </option>
<option>44444 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel3">
<option>11111111111111 </option>
<option>22222222222222222222222222</option>
<option>33333333333333 </option>
<option>44444444444444 </option>
</select>
</td>
</tr>
</table>
</body>
</html>
<head>
<title>Test </title>
<script type="text/javascript">
window.onload=function()
{
var sel=document.body.getElementsByTagName("select");
var k=0;
for(i=0;i<sel.length;i++)
{
for(j=i;j<sel.length;j++)
{
k=i;
if(sel[k].offsetWidth<sel[j].offsetWidth)
{
k=j;
}
}
sel[i].style.width=sel[k].offsetWidth+"px";
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td>
<select id="sel1">
<option>1 </option>
<option>2 </option>
<option>3 </option>
<option>4 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel2">
<option>11111 </option>
<option>22222 </option>
<option>33333 </option>
<option>44444 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel3">
<option>11111111111111 </option>
<option>22222222222222222222222222</option>
<option>33333333333333 </option>
<option>44444444444444 </option>
</select>
</td>
</tr>
</table>
</body>
</html>
解决方案 »
- jquery高手进,求指教!!
- 用jquery实现页面滚动
- 点击radio设置select的disabled属性。
- 图片点击事件为什么执行了7次之后就不执行了?
- md5算法用不来,帮解释下啊,急用~~~~~~~~~~~~~~
- 该页上的脚本造成internet explorer运行速度减慢,如果继续运行,您的计算机将变得更慢,是否取消该脚本
- 帮我写一个正则表达匹配式
- 问:关于对象的class属性
- 关于JS快速显示提示信息特效中的问题
- 两个frame中用一个frame的进度条控制两个frame.高分相送
- 我要在 所有对象里面加上onclick事件 不知道怎么写
- JavaScript怎么把值写入文本框
td没有设置width 就是你说的要求呀?
没有听明白? 你说的是三列要一样宽吗?
是不是只能用循环?有没有其它的方法?因为我的页面里可能会有上百个这样的<select>,如果循环,怕影响效率
To luojihaidao:
我的需求是要把三个<select>的宽度都设为一样宽,大小就为三个<select>中最大的那个<select>的宽度。
{
var sel=document.body.getElementsByTagName("select");
var w=0;
for(i=0;i<sel.length;i++)
{
if(w<sel[i].offsetWidth) w=sel[i].offsetWidth;
}
var wpx = w+"px";
for(i=i;i<sel.length;i++)
{
sel[i].offsetWidth=wpx;
}
}
<head>
<title>Test </title>
<script type="text/javascript">
window.onload=function()
{
var sel=document.body.getElementsByTagName("select");
var k=0;
a=new Array();
for(i=0;i<sel.length;i++)
{
a[i]=sel[i].offsetWidth;
}
var maxValue=a.sort(sortNumber)[a.length-1]
for(i=0;i<sel.length;i++)
{
sel[i].style.width=maxValue+"px";
}
}
function sortNumber(a,b)
{
return a - b
}
</script>
</head>
<body>
<table border="1">
<tr>
<td>
<select id="sel1">
<option>1 </option>
<option>2 </option>
<option>3 </option>
<option>4 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel2">
<option>11111 </option>
<option>22222 </option>
<option>333330000000000000000000000000 </option>
<option>44444 </option>
</select>
</td>
</tr>
<tr>
<td>
<select id="sel3">
<option>111111s111 </option>
<option>22222d</option>
<option>33d3333333 </option>
<option>4444d444444 </option>
</select>
</td>
</tr>
</table>
</body>
</html>
对ASP.NET和C#有兴趣的朋友,欢迎加入67226009
window.onload=function()
{
var sel=document.body.getElementsByTagName("select");
var k=0;
a=new Array();
for(i=0;i<sel.length;i++)
{
a[i]=sel[i].offsetWidth;
}
var maxValue=a.sort(sortNumber)[a.length-1]
for(i=0;i<sel.length;i++)
{
sel[i].style.width=maxValue+"px";
}
}
function sortNumber(a,b)
{
return a - b
}
</script>当我有上百个<select>的时候,用这种循环特别的慢,要几分钟.....
上面主要这个方法慢
for(i=0;i<sel.length;i++)
{
sel[i].style.width=maxValue+"px";
}
给hmtl元素设置style的时候,循环速度非常慢.