我在C#中有这段代码:
@foreach (var photo in photos){
<div class="comment1" id="many">
@photo.name
</div>
}
<input type="button" name="button" onclick="count()" />
我想知道有多少“photo.names”,所以我制作了这个javascript
function count(){
var algo = document.getElementById("many");
alert(algo.length);
}
但由于一些奇怪的原因,它给了我“ undefined ”。为什么会这样? 我在单独的文件上有javascript
答案 0 :(得分:3)
为什么会这样?
HTML元素没有length
属性。如果您正在寻找元素包含的长度,则需要执行此操作
document.getElementById("many").innerHTML.length;
请注意,ID应该是元素唯一的。
如果您正在寻找“有多少”评论,则需要执行以下操作
document.getElementsByClassName("comment1").length;
类不需要在元素之间是唯一的,并且元素可以有多个类。
答案 1 :(得分:2)
document.getElementById
,正如方法名称所示,获取单个元素,而不是多个。
HTML中的ID应该是唯一的;应该只有一个带id的元素。所以getElementById
完全返回该元素。
如果要标记多个项目,则应使用类名称。然后,您可以使用document.getElementsByClassName
。