未捕获的类型错误: 无法调用 null 的方法“替换”

Uncaught TypeError: Cannot call method 'replace' of null

本文关键字:null 调用 方法 替换 类型 错误      更新时间:2023-09-26

如果我在Chrome JS控制台上键入"_.template($('#pranks-list'((.html(((",它也可以工作

>> _.template($('#pranks-list').html())
function (a){return e.call(this,a,b)}

应用.js 视图

window.PranksListView = Backbone.View.extend({
    template: _.template($('#pranks-list').html())
});

索引.html

  <script type="text/html" id="pranks-list">
    <li><a href='#pranks/<%= id %>'><%= name %></a></li>
  </script>
  </body>

为什么我在这一行上收到此错误?

template: _.template($('#pranks-list').html())

如果不看到整个代码,很难分辨,但您可能正在尝试在创建 dom 并且节点存在之前运行_.template($('#pranks-list').html())。通常,最好在准备好模板变量后在渲染时渲染模板:

_.template($('#pranks-list').html(), {id: 'foo', name: 'bar'});