YoniGeek YoniGeek - 4 months ago 37
Javascript Question

Firebug doesn’t display my javascript? can't find the error

well I want to debug some script with Firebug, (cause I can't see anything in the browser window) but when I click the script tab in Firefox it gives me the error message:

If tags have a "type" attribute, it should equal "text/javascript" or "application/javascript". Also scripts must be parsable (syntactically correct).

What am I doing wrong?

Here's my code:

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>



<script src="jquery-1.7.1.js"></script>
<script type="text/javascript">
$(function() {
/* fix: “close” the value of i inside createFunction, so it won't change */
var createFunction = function(i) {
return function() { alert(i); };
};

for (var i=0; i<5; i++) {
$('p').appendTo('body').on("click", createFunction(i));
}

})();
</script>
</body>
</html>

Answer

You must leave out the last parenthesis, I guess the code should run on dom ready?

<script type="text/javascript">
$(function() {
/* fix: “close” the value of i inside createFunction, so it won't change */
        var createFunction = function(i) {
            return function() { alert(i); };
        };

        for (var i=0; i<5; i++) {
            $('<p>').appendTo('body').on("click", createFunction(i));
}

});
</script>

See here for how to make code running on dom load with jquery.