我正在开发一个网络应用,我在其中删除select
中的所有元素,使用:
$('#State option').each(function(i, option){ $(option).remove(); });
如何使用this
关键字代替'#State'?
来自OP评论:
我有多个下拉元素。聚焦时,我必须调用一个函数来删除当前所选下拉列表中的所有元素
答案 0 :(得分:0)
我想我知道你要问的是什么。您想要删除页面上每个下拉列表的所有元素吗?如果是这种情况,请使用以下代码:
$('select option').remove();
您可以使用$(this)在迭代时引用非常下拉列表,但这对于您要完成的操作是不必要的。下面是使用$(this)和iteration的无效方法:
$('select').each(function () { $(this).find('option').remove(); })
答案 1 :(得分:0)
我有多个下拉元素。聚焦时,我必须调用一个函数来删除当前所选下拉列表中的所有元素。
我不知道这是不是很好的UI设计,但假设它是需要的......
//--- When any select is focused, this will remove all options from just that select.
$('select'). bind ("focus", function () {
$(this).find ('option').remove ();
}
答案 2 :(得分:0)
替代解释:
我如何使用此关键字代替'#State'
在下面我假设您已经在this
引用带有id = State
的DOM元素的上下文中。在那种情况下,
$('option', this).each(function(i, option){ $(option).remove(); });
将等同于:
$('#State option').each(function(i, option){ $(option).remove(); });
在此,我们利用jQuery()
的{{3}}签名。