$(this).attr(“id”) not working

前端 未结 9 646
情书的邮戳
情书的邮戳 2020-12-30 02:55

as the title says, I keep getting \"undefined\" when I try to get the id attribute of an element, basically what I want to do is replace an element with an input box when th

相关标签:
9条回答
  • 2020-12-30 03:49

    your using this in a function, when you should be using the parameter.

    You only use $(this) in callbacks... from selections like

    $('a').click(function() {
       alert($(this).href);
    })
    

    In closing, the proper way (using your code example) would be to do this

    obj.attr('id');

    0 讨论(0)
  • 2020-12-30 03:52

    You could also write your entire function as a jQuery extension, so you could do something along the lines of `$('#element').showHideOther();

    (function($) {
        $.extend($.fn, {
            showHideOther: function() {
                $.each(this, function() {
                    var Id = $(this).attr('id');
                    alert(Id);
    
                    ...
    
                    return this;
                });
            }
        });
    })(jQuery);
    

    Not that it answers your question... Just food for thought.

    0 讨论(0)
  • 2020-12-30 03:54

    I recommend you to read more about the this keyword.

    You cannot expect "this" to select the "select" tag in this case.

    What you want to do in this case is use obj.id to get the id of select tag.

    0 讨论(0)
提交回复
热议问题