所以我试图让$(this)起作用。
这不起作用:
$(".tournament-thumb").backstretch($(this).data("url"));
但这样做:
$(".tournament-thumb").backstretch($(".tournament-thumb").data("url"));
我需要从数据中获取网址。这是HTML:
<div class="tournament-thumb" data-url="{{asset('images/tournament/' . $tournament->image)}}">
我是否错过了$(this)和.data的一些重要部分?
答案 0 :(得分:3)
在参数语句中使用this
不会更改其上下文。它仍然引用与周围范围内任何其他地方相同的对象
function x(){
//this in here and the function parameter call refers to the same object
console.log(this)
$(".tournament-thumb").backstretch($(this).data("url"));
}
在jQuery中,如果将回调传递给函数,那些函数this
内部很可能会引用当前正在使用的dom元素。
如果它像
那样$(".tournament-thumb").backstretch(function(){
//do something
//here this might refer to the tournament-thumb element
});