Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从$(this)jQuery对象获取this DOM对象?_Javascript_Jquery - Fatal编程技术网

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

Javascript 如何从$(this)jQuery对象获取this DOM对象?,javascript,jquery,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 m

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

jqobj参数是DOM元素的数组,因此可以使用

     jqobj[0] 
但是如果数组不是空的,请测试数组的大小

     jqobj.length > 0

jqobj参数是DOM元素的数组,因此可以使用

     jqobj[0] 
但是如果数组不是空的,请测试数组的大小

     jqobj.length > 0

如果您确定只有一个元素,那么

function test(jqobj) {
  var el  = jqobj[0]
}

如果您确定只有一个元素,那么

function test(jqobj) {
  var el  = jqobj[0]
}

与其将对象作为参数传递,还可以将元素id或类发送给函数。然后可以在函数内使用
getElementById
方法引用元素。

不如将对象作为参数传递,还可以将元素id或类发送给函数。然后可以在函数内使用
getElementById
方法引用元素元素。

如果未传递多个元素,请使用以下方法:

function test(jqobj) {
    var obj;
    if(jqobj[0]!=null)
    {
        obj = jqobj[0];
    }
  }

如果未传递多个元素,请使用以下方法:

function test(jqobj) {
    var obj;
    if(jqobj[0]!=null)
    {
        obj = jqobj[0];
    }
  }

所以我们可以互相隐藏

//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");

所以我们可以互相隐藏

//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");
测试(本)真的吗???或者只需
$(“选择器”)。单击(测试)
然后在
test()
中,
这是单击的DOM节点。等等,从下面所有不同的答案来看,我肯定遗漏了一些非常明显的东西。。。问题可能是,为什么需要将jq对象作为function param通过测试(this)真的吗???或者只需
$(“选择器”)。单击(测试)
然后在
test()
中,
这是单击的DOM节点。等等,从下面所有不同的答案来看,我肯定遗漏了一些非常明显的东西。。。问题可能是,为什么需要将jq对象作为函数param传递?