c# - getelementbyid().length 未定义?

标签 c# javascript

我有以下 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);
}

但由于某种奇怪的原因,它给了我“未定义”。为什么会发生这种情况? 我的 JavaScript 位于单独的文件中

最佳答案

Why is it happening?

HTML 元素没有 length 属性。如果您正在查找元素包含的内容的长度,您需要这样做

document.getElementById("many").innerHTML.length;

请记住,ID 对于元素来说应该是唯一的。

如果您要查找“有多少”评论,则需要执行以下操作

document.getElementsByClassName("comment1").length;

类不需要在元素之间是唯一的,并且元素可以有超过 1 个类。

关于c# - getelementbyid().length 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344104/

相关文章:

c# - 如何在初始化渲染器之前调用方法 [Wpf]

c# - 与 SSMS 相比,LINQ 查询非常慢

javascript - 函数参数作为字符串但作为函数执行?

javascript - 如果用户的浏览器早于 : IE 10, Firefox 39、Chrome 39、Opera 8,则显示一条消息

Javascript 异步返回 bool 到外部函数

c# - 将字符串转换为带有字母的数组

c# - "dotnet build"的 C#8 命令行编译器的最小安装

c# - 存储抓取数据的最简单方法

javascript - 多个隐藏的全屏 div?

javascript - Raty 谷歌地图信息窗口中的星级