【发布时间】:2009-07-24 00:06:16
【问题描述】:
我现在正在学习 jQuery,正在阅读 Jeffrey Way 的一篇文章,"You Still Can’t Create a jQuery Plugin?" 几乎一切都清楚了,但有些地方我仍然无法理解。
问题从“第 3 步:构建插件”开始,标题为“For Each...”,然后是“错误检查”。
this.each(function() {
$this = $(this);
var title = this.title;
if ($this.is('a') && $this.attr('title') != '') {
this.title = '';
$this.hover(function(e){
问题
this.title- 这是什么方法?当我们使用 jQuery 时,我们输入$(this).attr('title')- 创建 jQuery 是为了简化开发)this.title是指 DOM 规范还是 Javascript 内置方法?我完全无法理解这里的
this关键字是怎么回事,我们什么时候必须使用this,什么时候必须使用$(this)?为什么我们使用this.each(func...,而不是$(this).each(func...? (我已经测试过了——它也可以工作,但有什么区别?)我知道工厂方法$()返回一组包装的DOM元素,但是为什么我们在这里使用this.title(又是$(this).attr('title')做这项工作)? 我做了一点测试。我们可以在条件语句中键入this.title或title而不是$this.attr('title'),但只要我们在语句this.title = '';中使用任何东西(title或$(this).attr('title'))而不是this.title- 它不会'没用。好吧,我们指定了
var title = this.title;。但是我们在使用这个变量的时候,为什么要声明呢?
我认为你们中的一些人甚至比我更了解,了解我需要什么,所以我完成了我的解释) 非常非常感谢,如果你能说清楚)
【问题讨论】:
标签: jquery plugins jquery-plugins coding-style