Jquery无法读取null错误的属性

时间:2015-12-08 09:41:55

标签: javascript jquery bind

您好我正在学习Jquery而我无法运行以下代码。

我已经设置了一个简单的选择框,然后尝试向其添加一个on change事件。最初我尝试使用.change然后我读到使用显示的方法更好,因为它不依赖于开始时可用的元素。

我刚收到Uncaught TypeError的错误:无法读取属性'找到'为null。我之前没有使用过jsfiddle但是我试图在这里设置一个https://jsfiddle.net/2L6z3fdm/

帮助!

            <select id="roomCapacity" >
              <option value="volvo">Volvo</option>
              <option value="saab">Saab</option>
              <option value="mercedes">Mercedes</option>
              <option value="audi">Audi</option>
            </select>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
            <script> 
             $( "#roomCapacity" ).on("change",function(){
                        roomLayoutBox = ["Volvo","Ford"];
                        console.log(this.value);
                        $('#roomStyle').find('option:not(:first)').remove();

                    });
            </script>

2 个答案:

答案 0 :(得分:1)

您的代码应如下所示

$("#roomCapacity").on("change",function(){
  roomLayoutBox = ["Volvo","Ford"];
  console.log(this.value);
  $("#roomCapacity").find('option:not(:first)').remove();
});

roomStyle不存在为任何元素的id

答案 1 :(得分:1)

$("#roomCapacity").on("change",function(){
  roomLayoutBox = ["Volvo","Ford"];
  console.log(this.value);
  $("#roomCapacity").find('option:not(:first)').remove();
});

roomStyle在当前上下文中不存在:) 您也可以使用

$(this).find('option:not(:first)').remove();