Jquery插件在函数原型中检索id

时间:2014-06-19 14:19:16

标签: javascript jquery html plugins prototype

我得到了以下jquery插件代码,我想检索受插件影响的元素的id。请帮忙。

我做了一个小提琴http://jsfiddle.net/bedjoc01/FU8yR/10/

/ ************ Début插件************************* **************************** /

    var sgii_chrono_obj

    (function($){

// chronometre  avec ou sans dixième de seconde
function Osgii_chrono(el, options) {

    // defaults options:
    this.defaults = {

        // afficher au dixième de seconde
        affDixieme: false, 

        // Déclenche le timer automatiquement
        autoStart: false, 

        // afficher le timer dans le div
        affTimer: true
    };

    // extending options:
    this.opts = $.extend({}, this.defaults, options);

    // the element:
    this.$el = $(el);
}

// separate functionality from object creation
Osgii_chrono.prototype = {

    // initializes plugin
    init: function() {
        var _this = this;

Je voudrais retrouver le id qui devrait retourner myChrono

            var monId = ?????
            /* init plugin here */

        this.setOptions(this.opts);
    },

    // sets the new options
    setOptions: function(options){
        var _this = this;
        options = $.extend({}, this.opts, options);

        /* handle changes here */

        //store options
        this.opts = options; 
    },

    // Fonction pour démarrage du chrono
    startChrono: function() {
        var _this = this;
                    var _el = this.$el;
                   //this.html('on est parti');
    },

    // Fonction pour arrêter le chrono
    stopChorno: function() {
        var _this = this;
    },

    // Fonction pour réinitialiser le chrono
    resetChrono: function() {
        var _this = this;
    }
};

// the actual plugin
$.fn.osgii_chrono = function(options) {
    var rev = null, l = this.length;

    if(l && this.each) {
        this.each(function() {
            rev = $(this).data('osgii_chrono');
            if(typeof rev === 'undefined') {
                rev = new Osgii_chrono(this, options);
                rev.init();
                $(this).data('osgii_chrono', rev);
            }
            else if(options) {
                rev.setOptions(options);
            }
        });
    }

    if(l === 1) return rev;
};

    })(jQuery);

HTML

    <div id="myChronoJb">Avant le start</div>
    <input type="button" value="Start" onclick="objMyChrono.startChrono();">

调用插件的Javascript

    var objMyChrono
    $(document).ready(function(){

/* add code here */
objMyChrono = $('#myChronoJb').osgii_chrono({ /* options */ });
objMyChrono.startChrono();

1 个答案:

答案 0 :(得分:0)

jQuery中的任何属性都可以通过attr函数检索。

$("<selector>").attr("<attribute-name>");

id也不例外。在你的情况下,它将是:

el.attr("id");