在jquery中使用id获取对象

时间:2014-11-11 20:35:02

标签: jquery

我有一个以obj为参数的方法。我不能改变签名,我想重用它。我必须将一个元素作为对象发送到此参数,因此不确定如何执行此操作。有人能告诉我吗?

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

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

2 个答案:

答案 0 :(得分:4)

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

看起来像是期待一个dom节点,所以你可以用老式的普通js方式做到这一点。

或者如果你想用jquery做,

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

答案 1 :(得分: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>