javascript - 如何用JavaScript判断页面中有多少数据列表

标签 javascript asp.net html

这是一个ascx页面,代码在aspx中。它将显示多个数据列表。如何通过JavaScript获取页面中数据列表的个数?

<asp:DataList ID="TF_DataList" runat="server" RepeatDirection="Vertical" OnItemCreated="TF_Datalist_ItemCreated">
   <ItemTemplate>
      <table style="text-align:left;">
        <tr>
          <td valign="top" align="left" nowrap="nowrap">
            <asp:RadioButton ID="lbTrue" runat="server" GroupName="ans" Text="T" onclick="Radcheck();"
            />
            <asp:RadioButton ID="lbFalse" runat="server" GroupName="ans" Text="F" onclick="Radcheck();"
            />
          </td>
          <td>
            &nbsp;&nbsp;
          </td>
          <td runat="server" id="AnswerContentTD" style="text-align: left">
            <asp:Label ID="lblAnswerText" runat="server" Text='<%# Eval("AnswerText")%>'>
            </asp:Label>
          </td>
        </tr>
      </table>
   </ItemTemplate>
   <ItemStyle HorizontalAlign="Left">
   </ItemStyle>
</asp:DataList>

最佳答案

你能做的最好的就是解决这个问题。为页面中的每个数据列表提供一个 CssClass="mydatalist"。请记住这些事情。

  1. 所有的asp:DataList 都必须有这个CssClass
  2. 只有 asp:DataList 必须有这个 CssClass

Javascript 实现。

function FindDataLists(){
    var datalists = document.getElementsByClassName("mydatalist");
    return datalists ? datalists.length : 0;
}
// fallback for LTE IE8
if (!document.getElementsByClassName) {
    document.getElementsByClassName = function (className, parentElement) {
        if (Prototype.BrowserFeatures.XPath) {
            var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
            return document._getElementsByXPath(q, parentElement);
        } else {
            var children = ($(parentElement) || document.body).getElementsByTagName('*');
            var elements = [],
                child;
            for (var i = 0, length = children.length; i < length; i++) {
                child = children[i];
                if (Element.hasClassName(child, className)) elements.push(Element.extend(child));
            }
            return elements;
        }
    };
}

如果你正在使用 jQuery

function FindDataLists(){
    var datalists = document.getElementsByClassName("mydatalist");
    return $(".").length;
}

关于javascript - 如何用JavaScript判断页面中有多少数据列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688849/

相关文章:

javascript - 如何在打印文档后*重定向到另一个页面?

c# - 动态设置 Html.LabelFor 的文本

javascript - 提供客户端分页Backbone.js

javascript - 单击按钮时调整 colspan

javascript - 使用鼠标事件在 Canvas 上绘制一个圆圈

c# - Response.OutputStream.Write 中的 "The remote host closed the connection"

javascript - 如何在调用 JQUERY 中使用的 css 和 html 函数之前调用 hook?

html - 如何仅使用 CSS 将图像(或文本)放在段落中两个或多个单词的下方?

javascript - 删除所有属性

javascript - 将 JSON 解析为对象数组