init: function(element, options) {
this.$generic = element.find('.love');
this.type = this.$generic.data('type');
this.url = this.$generic.attr('href');
this.$count = this.$generic.setAttribute('data-love-count');
console.log(this.$count + ' 6');
//this.count = +this.$count.text();
},
<a data-love-count="${loveCount}" href="/love/${session.userId}">
<i class="icn-heart"></i>
${loved}
</a>
console.log不断出错; Uncaught TypeError: undefined is not a function
。我不知道为什么。我尝试使用getAttribute
或setAttribute
,但我得到了相同的错误。
此外,我无法想象如何在评论行中添加爱情。每次用户点击,爱情都会增加。
答案 0 :(得分:0)
this.$count = this.$generic.setAttribute('data-love-count');
您在那里使用html属性setter
,以get
数据。用以下代码替换该行:
this.$count = this.$generic.attr('data-love-count');
你应该没事。
答案 1 :(得分:0)
setAttribute
和getAttribute
是本机函数,但您的$generic
变量是jQuery对象。
jQuery使用.attr
代替:https://api.jquery.com/attr/
如果您希望代码正常工作,您可以这样做:
this.$count = +this.$generic[0].getAttribute('data-love-count');
(请注意,它未设置,+
将其转换为数字类型)
get 0
将访问jQuery选择器找到的第一个本机元素,然后您可以调用本机方法。
增加:
this.$count += 6;