У меня возникли проблемы с запуском моего внешнего JS-файла, когда я запускаю его с помощью события onclick.
Файл JS находится в том же каталоге, что и файл html.
Вот html:
<head>
<script src='request.js'></script>
</head>
<h1>Requests</h1>
<table>
<thead>
<tr>
<th>Artist</th>
<th>Title</th>
<th>Votecount</th>
<th>Vote for Song</th>
<th colspan = "3"></th>
</tr>
</thead>
<tbody>
<% @requests.each do |request| %>
<tr>
<td><%= request.artist %></td>
<td><%= request.title %></td>
<td class = "voteCount"><%= request.voteCount %></td>
<td><button onclick = "upVote()">Vote</button></td>
</tr>
<% end %>
</tbody>
</table>
Вот что в моем JS-файле:
function upVote() {
alert("firing trigger");
var count = document.getElementsByClassName("voteCount")[0].innerHTML;
count = parseInt(count);
count = count + 1;
count = count.toString();
document.getElementsByClassName("voteCount")[0].innerHTML = count;
}
🤔 А знаете ли вы, что...
JavaScript можно использовать для создания видеоигр, как 2D, так и 3D, с использованием библиотеки Three.js.
Это происходит потому, что код выполняется до того, как будет сгенерирован DOM
. Попробуйте переместить <script src='request.js'></script>
в конец <body>
<body>
<h1>Requests</h1>
<table>
...
...
</table>
<script src='request.js'></script>
</body>