【问题标题】:How to count the number of listitems in an asp.bulletedlist with JavaScript如何使用 JavaScript 计算 asp.bulletedlist 中的列表项数
【发布时间】:2010-03-12 17:02:27
【问题描述】:

我有一个 asp:bulletedlist 控件,它位于一个 div 标记内,我需要计算控件内的列表项的数量。搜索互联网,并注意到项目返回的 html 是一个列表,即<li>,我想我可以举一个例子:

var listcontrol = document.getElementById('BulletedList1');
var countItems = listcontrol.getElementByTagName('li').length;

但是,当我这样做时,它会抛出错误并指出此控件不存在任何对象。

所以,我的问题是,因为我必须做这个客户端,因为我想用它来设置 div 标签的高度,你是如何用 javascript 计算 asp:bulletedlist 控件中的项目数?

【问题讨论】:

    标签: javascript controls bulletedlist


    【解决方案1】:

    您不能像使用它一样使用 document.getElementById,因为 Asp.Net 控件在呈现时的实际 ID 与您在控件上设置的 ID 不同。查看页面的来源,您将看到实际的 ID 是什么。然后,您可以根据需要使用它,并且此代码应该可以工作,但如果您移动了项目符号列表控件,它会中断,因为层次结构会改变。

    另一种方法是使用 jQuery。在您的示例中,您可以这样做:

    $('[id$=BulletedList1]').children('li').size()
    

    这将选择以 'BulletedList1' 结尾的元素,获取 li 子元素,然后返回集合的大小。

    【讨论】:

    • 从技术上讲,当您的 aspx 页面使用被重写的母版页时,它只是控件上的 ID,但无论如何 +1 :)
    • 我不确定你的意思 - 你能解释一下吗?
    猜你喜欢
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    相关资源
    最近更新 更多