32

第一次在这里发帖,我很平静:) 我已经搜索过,但找不到我想要的东西。

我正在尝试操作选择框的选定选项。有人可以解释为什么这样做:

$('#some_select_box').click(function() {
  $('#some_select_box option:selected').remove();
});

但这不是:

$('#some_select_box').click(function() {
  $('this option:selected').remove();
});

我只想使用“this”而不是拼出选择框的 id - 有人可以为我指出正确的语法方向吗?这让我发疯,因为它看起来应该非常简单。而且我敢肯定它是给某人的,但不是我,因为它是一天的结束,我脑子里都炸了......任何指针都非常感谢。

干杯

4

5 回答 5

60

this不是 CSS 选择器。this您可以通过将其作为上下文传递来避免拼写 id :

$('option:selected', this).remove();

http://api.jquery.com/jQuery/

于 2010-03-22T17:08:03.727 回答
11
 $('#some_select_box').click(function() {
     $(this).find('option:selected').remove();
 });

使用查找方法。

于 2010-03-22T17:08:08.250 回答
5

这应该可以解决问题:

$('#some_select_box').click(function() {
  $('option:selected', this ).remove();
});
于 2010-03-22T17:08:18.033 回答
4

这是一个更简单的

$('#some_select_box').find('option:selected').remove().end();
于 2014-06-24T11:54:31.580 回答
0

$('#some_select_box option:selected').remove();

于 2020-11-27T03:07:54.123 回答