JQuery 绑定此和数据属性
JQuery bind this and data-attribute
我想要一个点击侦听器,它绑定对象值本身和被点击的元素的数据属性。
例:
var Person = function (firstName) {
this.firstName = firstName;
$(window).on("click", ".myclass", sayHello).bind(this);
};
Person.prototype.sayHello = function() {
console.log("Hello, I'm " + this.firstName + data-url);
};
var person1 = new Person("Alice");
.HTML:
<div class="wrapper">
<a href="#" data-url="google.com" class="myClass">Test</a>
<a href="#" data-url="google.com" class="myClass">Test</a>
<a href="#" data-url="google.com" class="myClass">Test</a>
</div>
我不知道如何在sayHello函数中获取数据属性。但是我需要sayHello函数中的名字和数据网址。
有什么建议吗?
我认为这就是您正在寻找的(未经过测试,但它会对您有所帮助):
$(a).click(function(){
data_val = $(this).data('url');//will give you data attribute value of clicked anchor element
var person1 = new Person("Alice", data_val);
});
var Person = function (firstName, val) {
this.firstName = firstName;
this.val = val;
};
Person.prototype.sayHello = function() {
console.log("Hello, I'm " + this.firstName + this.val);
};
更新 sayHello
方法以接受其他参数并创建指向 Person 对象this
的链接:
var Person = function (firstName) {
var self = this;
this.firstName = firstName;
$(window).on("click", ".myclass", function() {
self.sayHello(this);
});
};
Person.prototype.sayHello = function(element) {
console.log("Hello, I'm " + this.firstName + $(element).data('url'));
};
var person1 = new Person("Alice");
使用getAttribute
javascript函数,尝试
console.log("Hello, I'm " + this.firstName + this.getAttribute('data-url'));
相关文章:
- 缩略图库的XML数据图像绑定
- IE8中的Ember.js(1.0pre)属性绑定错误
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- LiveCycle Xml属性绑定
- angular2中具有属性绑定的字符串串联
- Javascript数据将元素属性绑定到URL中的锚href
- 从服务器端将属性绑定到套接字对象;似乎不能正常工作
- Knockout:为许多数据对象绑定模板引导模式
- 从自动完成将具有的数据表绑定到JSON数组
- AngularJs 将模型属性绑定到复选框
- 属性绑定中的 Javascript 或 Query in Birt
- AngularJS指令将名称属性绑定到模板元素
- JSON 数据未绑定到从 SAPUI5 应用中的第一个视图导航的视图中
- React JS - uncatch TypeError:无法读取未定义的属性“绑定”
- D3.js面积图 - JSON 数据未绑定到图表
- 将 AngularJS 数据模型绑定到基础复选框
- ng-options 模型基于属性绑定
- ReactJS 无法读取未定义的属性“绑定”
- D3js 将路径“d”属性绑定到数据
- 如何使用启用属性绑定数据