更清洁的方式将id传递给jquery

时间:2016-05-22 19:36:55

标签: javascript jquery html

我只是想知道是否有更简洁的方法将id传递给timepicker函数。这就是我所拥有的:

JS:

function timedrop(id){
   $("#" + id).timepicker();
   $("#" + id).timepicker('option', { 'minTime': '9:00am', 'maxTime': 
                                      '9:00pm',    'timeFormat': 'h:i A' });
}

HTML:

<input id="basicExample" onclick="timedrop(this.id);" type="text" class="time ui-timepicker-input" autocomplete="off">

2 个答案:

答案 0 :(得分:3)

简而言之:。这可能是最好的方式。但是,您可以通过使用自定义类来提高代码的效率(您不必每次都执行JavaScript):

HTML:

<input id="basicExample" type="text" class="time ui-timepicker-input special-time" autocomplete="off">

JS:

$('.special-time').click(function(){
    $(this).timepicker('option', { 'minTime': '9:00am', 'maxTime': 
                                          '9:00pm',    'timeFormat': 'h:i A' });
});

答案 1 :(得分:0)

如果您在其他任何地方都不需要ID,那么传递this应该有效:

function timedrop(elem){
   $(elem).timepicker();
   $(elem).timepicker('option', { 'minTime': '9:00am', 'maxTime': 
                                      '9:00pm',    'timeFormat': 'h:i A' });
}

<input id="basicExample" onclick="timedrop(this);" type="text"
       class="time ui-timepicker-input" autocomplete="off">
编辑:当然,其他人给出了一些合理的建议。我的答案只是让代码看起来更清晰。