Jquery通过ID问题获取元素

时间:2011-07-31 05:18:18

标签: javascript jquery ruby-on-rails-3

$(function() {
  $(".form_new td select").change(function() {
    alert($('#new_school').id)
  });
});

我在我的应用中有上面的代码。但它一直警告“未定义”。我究竟做错了什么? #new_school是一个文本字段。我已经安装了jquery。在我的public / javascripts文件夹中,我有jquery.js,jquery.min.js和jquery.ujs.js。我正在使用Rails 3.0.9

4 个答案:

答案 0 :(得分:12)

更改此内容:alert($('#new_school').id) 对此:alert($('#new_school').attr('id'))

答案 1 :(得分:3)

为什么会这样:

$('#new_school').id
$('#new_school')会返回Array个元素,而id中未定义Array。 所以它会引发你undefined

你如何解决它:

  1. $('#new_school') [0] .getAttribute('id')
  2. $('#new_school').attr('id')
    .attr只会找到数组中第一个元素的id,请阅读here。)
  3. $('#new_school') [0] .id
  4. <强> PS:

    PS。:在你的剧本中:alert($('#new_school').id)

    您找到的id那里,呃!

答案 2 :(得分:1)

试试这个:

alert( $('#new_school').attr('id') )

答案 3 :(得分:1)

$('#new_school')。attr('id')应该可以工作,但这没用,因为你必须事先知道id来选择元素。

通常你只做这样的事情

var currentId = $(this).attr('id');

获取调用事件的对象的ID