Javascript jQuery:this=$(this)
我想创建一个jQuery插件,该插件将确定一个元素是属于某个特定类还是父元素属于某个特定类Javascript jQuery:this=$(this),javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我想创建一个jQuery插件,该插件将确定一个元素是属于某个特定类还是父元素属于某个特定类 例子 给定以下HTML: <div id="root"> <div id="a" class="myClass"> <div id="b"></div> </div> </div> 解决方案A(工程) 解决方案B(不起作用) 解决方案C(不起作用) 问题: 但是,解决方案A在Chrome
例子 给定以下HTML:
<div id="root">
<div id="a" class="myClass">
<div id="b"></div>
</div>
</div>
解决方案A(工程) 解决方案B(不起作用) 解决方案C(不起作用)
问题: 但是,解决方案A在Chrome中引发以下异常:
Uncaught ReferenceError: Invalid left-hand side in assignment
由于此错误,我尝试解决方案B和C失败
这就提出了以下问题:
- 如果出现异常,为什么解决方案A会起作用
- 为什么解决方案B不起作用李>
$.fn.isOrParent = function (selector) {
return this.closest(selector).length !== 0;
}
这是一个特殊的关键字。。。你不能给它赋值我知道,这更像是一场意外。但是,它的工作原理让我很困惑。这不是最近的
方法所做的吗?我想你应该看看最近的
它做了你想做的事情。而$(这)
jquery原型函数内部是不必要的
$.fn.isOrParent = function (selector) {
$this = $(this);
if ($this.is(selector))
return true;
if ($this.parents(selector).length !== 0)
return true;
return false;
}
$.fn.isOrParent = function (selector) {
if (this.is(selector))
return true;
if (this.parents(selector).length !== 0)
return true;
return false;
}
Uncaught ReferenceError: Invalid left-hand side in assignment
$.fn.isOrParent = function (selector) {
return this.closest(selector).length !== 0;
}