我有一个jQuery对象作为参数传递的函数。见下面的代码。
$('selector').click(function() {
// $(this) is the jquery object for the DOM on which I clicked.
test($(this));
});
function test(jqobj) {
// Here from jqobj, I want to get back the native javascript object (I mean the this)
}
答案 0 :(得分:3)
jqobj param是一个DOM元素数组,因此您可以使用
jqobj[0]
但如果数组不是空的,请测试数组的大小,如
jqobj.length > 0
答案 1 :(得分:2)
所以我们可以互相转换
//From jQuery object to Dom:
var domobject = jqueryObject.get();
//From Dom to jQuery object
var jqueryObject = jQuery(domobject);
示例:
//From Dom to jQuery object
var overlayContent = document.createElement("div");
答案 2 :(得分:1)
var __this=this; //declare out side your function.
function test(){
__this; //use __this in your function.
}
答案 3 :(得分:0)
如果您确定只有一个元素,那么
function test(jqobj) {
var el = jqobj[0]
}
答案 4 :(得分:0)
而是将对象作为参数传递,您也可以将元素id或类发送到函数。然后您可以在函数内使用getElementById
方法来引用元素。
答案 5 :(得分:0)
如果您没有像这样传递多个元素:
function test(jqobj) {
var obj;
if(jqobj[0]!=null)
{
obj = jqobj[0];
}
}