既然你的问题有点过于模糊,那么你要完成的目标并不完全清楚.
如果您要突出显示li元素,请使用以下命令:
var $listItems = $('li');
$('input').keydown(function(e)
{
var key = e.keyCode,$selected = $listItems.filter('.selected'),$current;
if ( key != 40 && key != 38 ) return;
$listItems.removeClass('selected');
if ( key == 40 ) // Down key
{
if ( ! $selected.length || $selected.is(':last-child') ) {
$current = $listItems.eq(0);
}
else {
$current = $selected.next();
}
}
else if ( key == 38 ) // Up key
{
if ( ! $selected.length || $selected.is(':first-child') ) {
$current = $listItems.last();
}
else {
$current = $selected.prev();
}
}
$current.addClass('selected');
});
如果您只是尝试设置输入字段的值,请将最后一行更改为:
$(this).val ( $current.addClass('selected').text() );