我想弄清楚为什么e.target.getAttribute('data-text')的值在我从我的HTML到我的Backbone JS文件时变为null。Backbone.js获取目标属性
HTML:
<script type="text/template" id="lesson-template">
<span id="lesson-title"><%= tracks[0].title %></span>
<select class="sel">
<% _.each(tracks, function(track) { %>
<option value = "<%= track.text %>" data-text="<%= track.title %>"><%= track.title %></option>
<% }); %>
</select>
<p id="tracktext"><%= tracks[0].text %></p>
</script>
JS:
window.LibraryLessonView = LessonView.extend({
events: {
"change .sel " : "changeText"
},
changeText: function(e) {
alert(e.target.getAttribute('data-text')); //I am getting a null value here!
document.getElementById("lesson-title").innerHTML= e.target.getAttribute('data-text'); //I am getting a null value here as well
document.getElementById("tracktext").innerHTML= e.target.value;
}
任何澄清或帮助将不胜感激!
使用你的JavaScript代码,如果我要说var Tracks = Backbone.Collection.extend({model:Track,url:链接到一些JSON文件});我正在用这种方式创建曲目集合。我将如何处理该行var v = new LibraryLessonView({collection:tracks});? – Robs
@Robs:我不确定你在问什么。你需要'var tracks = new Tracks'来创建一个集合实例,然后'tracks.fetch()'来加载数据。 –