【发布时间】:2013-01-08 02:33:44
【问题描述】:
我在滚动列表中使用 jquery touchwipe 插件,但无法获取
来自 $(this) 的属性。我想使用 $(this) 来获取其子元素 class="t7 edit" 并向其添加类 'show'。有人知道如何修复它吗?
html:
<div id="main_list_wrapper">
<div class="item">
<div class="t7 edit"></div>
<div class="t8 cancel"></div>
</div>
<div class="item">
<div class="t7 edit"></div>
<div class="t8 cancel"></div>
</div>
<div class="item">
<div class="t7 edit"></div>
<div class="t8 cancel"></div>
</div>
<div class="item">
<div class="t7 edit"></div>
<div class="t8 cancel"></div>
</div>
<div class="item">
<div class="t7 edit"></div>
<div class="t8 cancel"></div>
</div>
</div>
脚本代码:
var $main_list_wrapper = $("#main_list_wrapper").find('.item');
$main_list_wrapper.touchwipe({
preventDefaultEvents: false,
wipeLeft: function() {
$(this).find('.t8.cancel').removeClass('show');
$(this).find('.t7.edit').removeClass('show');
var thisclass = $(this).attr('class');
alert(thisclass);
return false;
},
wipeRight: function() {
$sb(this).find('.t8.cancel').addClass('show');
$sb(this).find('.t7.edit').addClass('show');
return false;
}
});
喜欢警报(此类)。它显示“未定义”。
谢谢大家。我的朋友写这个给我,它成功了!
$main_list_wrapper.each(function () {
var $this = $sb(this);
$this.touchwipe({
preventDefaultEvents: false,
wipeLeft: function() {
var $pcs = $this;
$pcs.find('.t8').removeClass('show');
$pcs.find('.t7').removeClass('show');
return false;
},
wipeRight: function() {
var $pcs = $this;
$pcs.find('.t8').addClass('show');
$pcs.find('.t7').addClass('show');
return false;
}
});
});
【问题讨论】:
-
“我对$(this)一无所知”是什么意思?请详细说明。如果您要问
$(this)是什么,我认为在这种情况下它将是 $main_list_wrapper。 -
我想使用 $(this) 来获取它的子元素 class="t7 edit" 并为其添加类 'show'。谢谢。
-
this可能指的是函数wipeLeft()? -
我看到了这篇文章,感谢你写以上内容的朋友,我已经设法让我的刷卡工作了!非常感谢:)
标签: javascript jquery web-applications mobile touch