使用JQuery根据ID获取对象

6

我有一个方法,它以obj为参数。我不能改变这个签名并且想要重复使用它。我必须将一个元素作为对象发送到这个参数中,所以不确定如何做到这一点。能否有人向我展示一下?

function someUsefulFunction(obj) {
  var id = obj.id;
  //do other stuff
}

{
  ...
  var myElement = $('#myElement');
   someUsefulFunction(myElement); //getting error "TypeError: obj.id is undefined"
  ...
}
2个回答

4
var myElement = document.getElementById('myElement');

看起来它需要一个DOM节点,因此您可以使用传统的JavaScript方式完成这个任务。

或者,如果您想使用jQuery完成,

var myElement = $('#myElement').get(0);

4
您需要更改为以下内容:
var id = obj[0].id;

function someUsefulFunction(obj) {
  var id = obj.id;
  console.log(id);
}

var myElement = $('#myElement').get(0);
someUsefulFunction(myElement);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myElement"></div>

您也可以选择以下方式:

var myElement = $('#myElement').get(0);

function someUsefulFunction(obj) {
  var id = obj[0].id;
  console.log(id);
}

var myElement = $('#myElement');
someUsefulFunction(myElement);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myElement"></div>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接