我有一个触发js功能的链接。对于链接,我在html上附加了数据属性,我想传递给函数。
$(".trigger").awesomeFunction({
oneArgument: "secretSauce",
secondArgument: $(this).data("address")
});
现在第二个参数结束为null而不是data-address属性。是因为$(this)不在函数参数列表中的正确范围内,如果是这样,我怎么能引用原始链接?
答案 0 :(得分:0)
$(".trigger").click(function() {
var self = $(this);
self.awesomeFunction({
oneArgument: "secretSauce",
secondArgument: self.data("address")
});
});
答案 1 :(得分:0)
不确定awesomeFunction
是如何定义的,但这似乎可以解决问题。
$.fn.awesomeFunction = function(obj){
console.log(obj.sauceType, this.data(obj.dataArg))
// returns 'secretSauce 123 Anystreet Dr.'
}
var div = $('#theDiv')
div.awesomeFunction({
sauceType : 'secretSauce',
dataArg : 'address'
})
答案 2 :(得分:0)
$(".trigger").each(function() {
var self = $(this);
self.awesomeFunction({
oneArgument: "secretSauce",
secondArgument: self.data("address")
});
});
答案 3 :(得分:0)
鉴于您的代码示例,任何事情都可能发生,this
未在.trigger
范围内定义,您可以说是“一层”。