2011-11-22 60 views
0

我有点困惑,为什么我可以使用.remove()但不是.hide()上的选项。 有人知道为什么吗?jQuery忽略隐藏但接受删除选择'选项'

的HTML代码:

<select> 
    <option value="choose">---</option> 
    <option value="foo">foo</option> 
    <option value="bar">bar</option> 
</select> 

和JavaScript代码:

$('select').focus(function() { 
    $('option[value="choose"]').hide(); 
    //$('option[value="choose"]').remove(); 
}); 

这里的的jsfiddle:http://jsfiddle.net/PzaHy/10/

+0

作品对我来说,唯一的问题是,它还是老样子有选择的第一个(和你有没有在你设定的jQuery为骨架的jsfiddle) –

+0

在Chrome 17对我来说这两个工作是什么浏览器,你使用?另外,您将jsfiddle保存为mootools而不是jQuery。你是在一个应用程序中尝试这个,还是只是jsfiddle? –

+0

是的,我做了一个新的,只是忘了它选择它我更新它。 – ggzone

回答

3

选择框操作系统控制不正确的HTML渲染的元素,所以他们通常不会像普通的HTML元素那样行事。

+0

似乎不可能隐藏它/我删除它 – ggzone

1

这不起作用。如果你不想删除,你可以禁用它们。试试这个

$('select').focus(function() { 
    $('option[value="choose"]').attr('disabled', true); 
}); 
+0

多数民众赞成在良好的,但它仍然可见 – ggzone