问题描述
有没有办法从jQuery中获取JavaScript?
1楼
this
== this
,不管this
是什么。
this
不是jquery,它是一个特殊的,有点复杂的javascript关键字,它描述了当前的执行范围。
你的挑战可能是确定或控制this
是什么。
2楼
有:
$('a').click(function(){
var jqueryobject = $(this);
var domelement = this;
});
在这样的闭包中, this
总是表示必须/可以wrapped
到jQuery对象中的本机DOM element
。
如果你已经有了一个jQuery对象并且需要使用DOM element
var DOMelement = $(this)[0];
要么
var DOMelement = $(this).get(0);
由于jQuery对象是array like objects
您始终可以使用标准数组访问[]
表示法来获取它们。
jQuery方法实际上也会这样做。
通过这两种方式,您将在该阵列位置接收DOM element
。
一般 -是什么this
?
-
this
包含对调用对象的引用 -
this
允许方法知道它所关注的对象 -
this
允许单个函数对象为许多函数提供服务 -
所以
this
是所有原型继承事物中最重要的部分
3楼
我真的不明白你在这里要求什么,但我会试一试。
首先,请记住jQuery只是一系列用Javascript编写的函数。
在“两个”上下文中, this
关键字在字面上是相同的。
也许你想获得实际的DOM元素而不是jQuery对象?
你可以使用.get()
:
// let's say there's a single paragraph element
var obj = $('p'); // obj is a jQuery object
var dom = obj.get(0); // dom is a DOM element
4楼
尝试访问this
(DOM元素)而不是$(this)
(jquery对象)。