我有一个asp:bulletedlist控件,它位于一个div标签中,我需要计算该控件中列表项的数量。在互联网上搜索,并注意到项目返回的html是一个列表,即<li>,我想我可以使用以下示例:
var listcontrol = document.getElementById('BulletedList1');
var countItems = listcontrol.getElementByTagName('li').length;然而,当我这样做的时候,它抛出了一个错误,告诉我这个控件没有对象。
所以,我的问题是,因为我必须做这个客户端,因为我想用它来设置div标签的高度,那就是如何用javascript计算asp:bulletedlist控件中的项目数?
发布于 2010-03-13 01:11:48
您不能像使用document.getElementById一样使用它,因为呈现时Asp.Net控件的实际ID与您在控件上为ID设置的ID不同。查看页面的源代码,您将看到实际的ID是什么。如果你愿意,你可以使用它,并且这段代码应该可以工作,但是如果你移动了bulletedlist控件,它就会崩溃,因为层次结构会改变。
另一种方法是使用jQuery。在您的示例中,您可以这样做:
$('[id$=BulletedList1]').children('li').size()这将选择以'BulletedList1‘结尾的元素,获取li子元素,然后返回集合的大小。
https://stackoverflow.com/questions/2434389
复制相似问题