我正试图在js上运行一个非常简单的代码,它应该在提示下向数组添加元素,但什么也没发生。这是代码:
HTML:
<body onload="loadBooks()">
<button onclick="myFunction()">Add your Favourite</button>
<p id="books"></p>
JS:
var books= ["Little Prince","The Alchemist","Alice in Wonderland"];
function loadBooks(){
document.getElementById('books').innerHTML= books;
}
function myFunction(){
var book= prompt("What is your favourite book?");
books[books.lenght]=book;
document.getElementById("books").innerHTML= books;
}
它怎么了?
您拼错了length
(拼写为lenght
(。
规范的方法是像这样使用var new_length = array.push(elements...)
:
books.push(book);
修复了您的代码,并做了一些改进-
<script>
// your custom ajax request here
var books = ["Little Prince", "The Alchemist", "Alice in Wonderland"];
function loadBooks() {
document.getElementById('books').innerHTML = books;
}
function myFunction() {
var book = prompt("What is your favourite book?");
books[books.length] = book;
loadBooks();
}
</script>
<body onload="loadBooks()">
<button onclick="myFunction()">Add your Favourite</button>
<p id="books"></p>
</body>