I’m learning jQuery and was following a tutorial, a very strange error has perplexed me. Here’s my html :
<!doctype html> <html> <head> <title> Simple Task List </title> <script src="jquery.js"></script> <script src="task-list.js"></script> </head> <body> <ul id="tasks"> </ul> <input type="text" id="task-text" /> <input type="submit" id="add-task" /> </body> </html>
and The jQuery :
$(document).ready(function(){ //To add a task when the user hits the return key $('#task-text').keydown(function(evt){ if(evt.keyCode == 13) { add_task(this, evt); } }); //To add a task when the user clicks on the submit button $("#add-task").click(function(evt){ add_task(document.getElementByID("task-text"),evt); }); }); function add_task(textBox, evt){ evt.preventDefault(); var taskText = textBox.value; $("<li>").text(taskText).appendTo("#tasks"); textBox.value = ""; };
When I add elements By hitting the return key, there’s no problem. But When I click the Submit Button then firebug shows this error
document.getElementByID is not a function [Break On This Error] add_task(document.getElementByID("task-text"),evt); task-list.js (line 11)
I tried to use jQuery instead replacing it with
$("#task-text")
This time the error is :
$("<li>").text(taskText).appendTo is not a function [Break On This Error] $("<li>").text(taskText).appendTo("#tasks"); task-list.js (line 18 which results in the following error
I’ve been trying to debug this for some time but i just don’t get it. Its probably a really silly mistake that i’ve made. Any help is most appreciated.
Edit : I’m using jQuery 1.6.1
Advertisement
Answer
It’s document.getElementById()
and not document.getElementByID()
. Check the casing for Id
.