<asp:GridView ID="gvHeader" runat="server" AllowSorting="True" AutoGenerateColumns="False" >
<HeaderStyle CssClass="gvHeader" />
<Columns>
<asp:BoundField HeaderText="序号">
<HeaderStyle Width="30" />
</asp:BoundField>
<asp:BoundField HeaderText="编码" SortExpression="ShowCode">
<HeaderStyle Width="100" />
</asp:BoundField>
<asp:BoundField HeaderText="名称" SortExpression="MName">
<HeaderStyle Width="300" />
</asp:BoundField>
</Columns>
</asp:GridView>想要通过JS 计算出Width的总和var s=document.getElementsByTagName("HeaderStyle"); count=0 哪里不对
<HeaderStyle CssClass="gvHeader" />
<Columns>
<asp:BoundField HeaderText="序号">
<HeaderStyle Width="30" />
</asp:BoundField>
<asp:BoundField HeaderText="编码" SortExpression="ShowCode">
<HeaderStyle Width="100" />
</asp:BoundField>
<asp:BoundField HeaderText="名称" SortExpression="MName">
<HeaderStyle Width="300" />
</asp:BoundField>
</Columns>
</asp:GridView>想要通过JS 计算出Width的总和var s=document.getElementsByTagName("HeaderStyle"); count=0 哪里不对
var s=document.getElementsByTagName("HeaderStyle");
var con=0;
for(var i=0;i<s.length;i++){
con+= parseInt(s[i].width);
}
</script>
循环 把每个width 相加 计算总和getElementsByTagName只能在html页面用aspx页面 怎么实现啊
var gv = document.getElementById("<%=gvHeader.ClientID%>");
OnRowCreated="gvHeader_RowCreated" OnSorting="gvHeader_Sorting">
<HeaderStyle CssClass="gvHeader" />
<Columns>
<asp:BoundField HeaderText="序号">
<HeaderStyle Width="30" />
</asp:BoundField>
<asp:BoundField HeaderText="编码" SortExpression="ShowCode">
<HeaderStyle Width="100" />
</asp:BoundField>
</Columns>
</asp:GridView>
<div id="divMain" style="overflow: auto; height: 250px;width:<% %>">//////////width等于JS计算出总长度
<asp:GridView ID="gvBody" runat="server" AutoGenerateColumns="False" ShowHeader="False"
<SelectedRowStyle CssClass="gvSelectedRow" />
<RowStyle CssClass="gvRow" />
<Columns>
<asp:TemplateField HeaderText="序号">
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# (int)DataBinder.Eval(Container, "RowIndex")+1 %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ShowCode" />
</Columns>
</asp:GridView>
</div>
<tr class="gvHeader">
<th scope="col" style="width: 30px;">
序号
</th>
<th title="点击对<分类编码>进行排序" scope="col" style="width: 100px;">
<a href="javascript:__doPostBack('gvHeader','Sort$ShowCode')">分类编码</a>
</th>
<th title="点击对<名称>进行排序" scope="col" style="width: 300px;">
<a href="javascript:__doPostBack('gvHeader','Sort$MName')">名称</a>
</tr>
</table>
IE脚本 显示的内容想先获取一共有几个th
var width = document.getElementsByTagName("th");
alert(width);
为什么还是显示0啊
var gv = document.getElementById("gvHeader");
var th = gv.getElementsByTagName(...);
var con=0;
for(var i=0;i<th.length;i++){
var width=th[i].style.width;
con+= parseInt(width);
}
<table cellspacing="0" rules="all" border="1" id="gvHeader" style="border-collapse: collapse;">
<tr class="gvHeader">
<th scope="col" style="width: 30px;">
序号
</th>
<th title="点击对<分类编码>进行排序" scope="col" style="width: 100px;">
<a href="javascript:__doPostBack('gvHeader','Sort$ShowCode')">分类编码</a>
</th>
<th title="点击对<名称>进行排序" scope="col" style="width: 300px;">
<a href="javascript:__doPostBack('gvHeader','Sort$MName')">名称</a>
</tr>
</table>
<script>
var width = document.getElementsByTagName("th");
alert(width.length);
</script>
<table cellspacing="0" rules="all" border="1" id="gvHeader" style="border-collapse: collapse;">
<tr class="gvHeader">
<th scope="col" style="width: 30px;">
序号
</th>
<th title="点击对<分类编码>进行排序" scope="col" style="width: 100px;">
<a href="javascript:__doPostBack('gvHeader','Sort$ShowCode')">分类编码</a>
</th>
<th title="点击对<名称>进行排序" scope="col" style="width: 300px;">
<a href="javascript:__doPostBack('gvHeader','Sort$MName')">名称</a>
</tr>
</table>
<script>
var width = document.getElementById("gvHeader");
alert(width.offsetWidth);
</script>