未捕获的TypeError:无法读取属性'添加'为null

时间:2014-06-30 22:46:12

标签: jquery javascript

我一直在尝试在我正在构建的网络应用中实现这条javascript。它应该从json文件中提取数据,然后使用选择器标记中的名称创建选项。在我的控制台中,我首先记录了第一个数据。行" selector.add(选项);"然后返回" Uncaught TypeError:无法读取属性'添加' of null"。

我经历三层这样的原因是因为我在数组级别内访问数据,而且我不确定如何以更好的方式执行此操作。

有人知道出了什么问题吗?

 $.getJSON( '../names.json', function( data ) {
      $.each( data, function( key, val) {
        $.each( val, function( key2, val2) {
            $.each( val2, function( key3, val3) {
                if (key3 == "name"){
                var selector = document.getElementById("in");
                var option = document.createElement("option") 
                  option.text = val3;
                  option.value = val3;
                  console.log(option);
                  selector.add(option);
                        };
                });
            });

     });
 });

1 个答案:

答案 0 :(得分:1)

请注意,selectoroption变量是DOM元素,但您将它们视为jQuery集合。考虑使用以下内容:

    if (key3 == "name"){
        var selector = $("#in");
        var option = $("option") 
        option.text( val3 );
        option.val( val3 );
        console.log(option);
        selector.add(option);
    }