如何从$(this)jQuery对象中获取此DOM对象?

时间:2014-11-13 09:38:11

标签: javascript jquery

我有一个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)
}

6 个答案:

答案 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];
    }
  }