Javascript 无法处理多行

标签 javascript jquery

由于某种原因,我的 Javascript 代码无法工作。 但是当我删除一些 Javascript 行时,它工作正常。

我做错了什么?

HTML:

<span id="21" class="addon-price">€ 0,00 p.m.</span>
<span id="57" class="addon-price">€ 0,00 p.m.</span>

Javascript:

document.getElementById("17").innerHTML = "Gratis";
document.getElementById("18").innerHTML = "Gratis";
document.getElementById("19").innerHTML = "Gratis";
document.getElementById("20").innerHTML = "Gratis";
document.getElementById("21").innerHTML = "Gratis";
document.getElementById("47").innerHTML = "Gratis";
document.getElementById("52").innerHTML = "Gratis";
document.getElementById("57").innerHTML = "Gratis";
document.getElementById("62").innerHTML = "Gratis";

JSFiddle:https://jsfiddle.net/4e362pg3/5/

最佳答案

打开控制台。

Uncaught TypeError: Cannot set property 'innerHTML' of null

如果该元素在 DOM 中不存在,选择器将返回 nullnull.innerHTML 未定义,它会引发错误并使页面崩溃。

使用 jQuery 的解决方案(因为您在问题中使用了 jQuery 标签):

$("#17").html("Gratis);

即使“17”元素不存在,这也永远不会使页面崩溃。

关于Javascript 无法处理多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38978759/

相关文章:

javascript - 计划任务作为 chrome 扩展

jquery - 验证不适用于动态添加的行

javascript - 查找 SVG 路径中的中点

jquery - 键输入在 Bootstrap 弹出窗口输入中不起作用 - jquery

javascript - React Router 在路由到新组件后仍然渲染上一页

c# - 即使在 javascript 中设置了值之后, <asp.HiddenField> 值在代码隐藏中仍为空

javascript - JQuery 单击事件不适用于 mvc 中动态创建的 ul Li 列表

javascript - polymer 纸图标按钮有什么用?

Javascript:如何将数据字段添加到 HTML 页面中的所有链接

javascript - 如何使用 JQuery 在模糊() 上调用此函数?