Javascript: TypeError: document.getElementById(...) 为 null 动态创建 <div> MVC4

标签 javascript jquery html css asp.net-mvc-4

我正在尝试从我的模型中的条目创建一个表。

我有一个 foreach,每个元素都有以下代码:

<td class="answerTD">
    <div class="answerOptionDiv" onclick="rightanswer(A1@(item.id))">
         @item.Choice1
    </div>
</td>
<td class="answerTD">
    <div id="A1@(item.id)" class="rightAnswer">Correct</div>
</td>

我使用元素 ID 和字母范围为每个 div 提供唯一的名称

我有一个非常简单的 javascript 函数(它适用于另一种不是动态创建的表单),它只显示答案 div:

<script>
    function rightanswer(x) {
        console.info = 'Fired Right';
        document.getElementById(x).style.display = 'block';
    }
</script>

当我在 Firebug 中测试该功能时,出现以下错误并且控制台不显示我的信息消息:

TypeError: document.getElementById(...) is null

document.getElementById(x).style.display = 'block';

我想做的事情可行吗?

最佳答案

您应该在引号中传递参数。

使用

<div class="answerOptionDiv" onclick="rightanswer('A1@(item.id)')">

代替

<div class="answerOptionDiv" onclick="rightanswer(A1@(item.id))">

关于Javascript: TypeError: document.getElementById(...) 为 null 动态创建 <div> MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22654557/

相关文章:

javascript - Fancybox - 无法在 Fancybox 窗口中打开图像

html - 如何使文本输入和文本区域并排对齐?

html - Rails 从 html 生成 PDF

html - 焦点上的按钮轮廓出现在左浮动的同级按钮后面的解决方法

javascript - 循环遍历同一字符串的多个实例的文本

php - Jquery AJAX POST 没有将任何东西传递给 PHP

javascript - 在播放 youtube 视频时淡出页面

javascript - 如何在 JavaScript 中创建一个来回移动的按钮

javascript - 无法更改 YouTube 视频时间格式

javascript - 无法获取自动完成字段值