我有这段代码,我让它删除了我的第一个“选项”,因为第一个选项说“请选择:”。无论如何,问题是,当我专注于我的第一个“选择”时,它会从每个选择中删除第一个“选项”。如何使其仅从当前关注的对象中删除?
$(document).ready(function(){
$('select').live('focus',function() {
$('.firstoption').remove();
});
});
$(document).ready(function(){
$('select:first').on('focus',function() {
$(this).children("option:first").remove();
});
});
示例:http: //jsfiddle.net/Ky6zq/2/
这将在每次选择获得焦点时执行,因此您每次都将继续删除元素。为防止出现此问题,请尝试:
$(document).ready(function(){
$('select:first').one('focus',function() {
$(this).children("option:first").remove();
});
});
示例:http: //jsfiddle.net/Ky6zq/1/
$(document).ready(function(){
$(document).on('focus', 'select', function() {
$('.firstoption', this).remove();
});
});
您应该使用 的委托版本on()
,而不是live()
已弃用的版本。
确保为第一个选项使用类,以免每次选择获得焦点时都删除选项。