0

我在文本输入上附加了一个下拉菜单,我的性别为男性,女性我只是在我的 li 中添加它,而它得到 foucs。但是我又得到了 2 个空 li 的焦点。为什么?

这是我的代码:

$(document).ready(function(){

  var  gender = ['Female','Male'],
      genderField = $('#gender');

   var genderUpdate= function(){
            genderField.focus(function(){
                if(!$('#genderList').length){
                    var topPos = $(this).position().top,lftPos = $(this).position().left;
                    $('<ul id="genderList"></ul>').css({
                        position    :'absolute',
                        top         : topPos,
                        left        : lftPos
                    }).appendTo($(this).parent());


                    $.map(gender,function(val,i){
                        $('<li>'+val+'<li>').appendTo('#genderList');
                        console.log('append');
                    })

                }


            })
        }

                        genderUpdate();

})

这是小提琴:

参观小提琴

这里有什么问题?

4

1 回答 1

4

找出差异;=)

$('<li>'+val+'<li>').appendTo('#genderList');

$('<li>'+val+'</li>').appendTo('#genderList');

浏览器已经“很好”并自动关闭了您未关闭的 li 标签,在循环的每次迭代中都有两个。

于 2012-05-28T13:54:07.280 回答