如何从JavaScript对象中提取ID(或其他属性)

时间:2013-10-29 17:58:07

标签: javascript jquery twitter-bootstrap dom

我正在使用bootstrap插件(http://www.bootstrap-switch.org/),事件处理程序将为我提供大量信息 - 比我需要的更多。

$('.make-switch').on('switch-change', function (e, data) {
    var $el = $(data.el)
    , value = data.value;
    console.log(e);
    console.log($el);
    console.log(value);
});

我只需要切换的开关的ID以及它所处的状态。在Firefox firebug中,我在控制台窗口中看到以下内容:

+ Object[input#checkbox_1]。当我向下钻取对象时,我看到0,所以我点击它进一步扩展。在0下我看到ID属性和我正在寻找的相应值,但我不知道如何引用它。如果我能得到一些帮助,获得该值将是相同的方法。

所以我的问题是,如何获取已抛出的交换机的ID?

我尝试使用另一个SO问题/答案并使其适应这个问题,但它对我不起作用。我接受了这个:

$("a").click(function(event) {
    console.log(event.target.id);
});

并将其改编为:

$('.make-switch').on('switch-change', function (e, data, event) {
    var $el = $(data.el)
    , value = data.value;
    console.log(e);
    console.log($el);
    console.log(value);
            console.log(event.target.id); //but this produces an error
});

但是console.log(event.target.id)会产生错误。

所以我的问题是,如何获取已抛出的交换机的ID? (如果错过上面的问题

评论:这是我开始时的一个小问题:
    http://jsfiddle.net/zZWLx/1/

2 个答案:

答案 0 :(得分:1)

如果您使用的是JQuery

$(document).ready(function() {
  $("a").click(function(event) {
    alert(event.target.id);
  });
});

答案 1 :(得分:0)

在处理程序中尝试这个:

console.log($(e.target).attr("id"))

编辑:

试试这个,更新小提琴:http://jsfiddle.net/zZWLx/2/

代码:

$(".make-switch").on('switch-change', function(event){
    console.log($(event.target).find("input").attr("id"));
})