不同的返回值console / javascript与jquery

时间:2013-12-19 17:09:27

标签: javascript jquery

我是javascript / jquery / html的新手,我必须用html和javascript开发一个小模拟器。

我有一个存储了html id的数组和一个应该根据传递状态更新输入的函数。

代码是这样的:

var dev_array = [["#8_1", "#8_2"], ["#8_3", "#8_4"], ["#8_5", "#8_6"], ["#8_7", "#8_8"]];

function send_dev_state_ctrl(state){
   dev_array.forEach(function(entry){
      for (i = 0; i < entry.length; ++i) {
         console.log(entry[i]);
         var input =$(entry[i]);
         console.log(input);
         input.value =value_hash_dev[i];
         handle_ctrl_send(input);           
      }
   });
 }

控制台显示:

#8_1
[input#8_1, context: document, selector: "#8_1", jquery: "1.10.1", constructor: function, init: function…]  
...

如果我在控制台中数字$(“#8_1”),我有以下输出:

[<input type=​"hidden" id=​"8_1" name=​"8:​1" value=​"1">​]

如何在javascript中获得相同的返回值?

2 个答案:

答案 0 :(得分:0)

我不知道为什么要这样做:

  var input =$(entry[i])[0];

它返回相同的控制台值。

我不喜欢它,但它有效。

答案 1 :(得分:-1)

你不是在使用你的console.log而只是吐出数组值。

改变这个:

console.log(entry[i]);

对此:

console.log($(entry[i]));

两者都会得到相同的结果。

----编辑----

我的错误我误解了这个问题,所以你做得不错

var input =$(entry[i])[0];

可行,这是因为$(entry[i])是一个对象,该对象中的第一个值是通过执行$(entry[i])[0];访问的DOM元素。

另一种方法是做到这一点:

var input =$(entry[i]).get(0);

这几乎是同样的事情。

不幸的是,没有太多其他方法可以做到。