javascript - Javascript onClick 计数器不起作用
问题描述
我正在编写 Like-Hate 的 javascript 计数器。
我的 HTML 代码如下。(该代码是从 PHP 代码中解析出来的)
<img id='like1' src='./imoticon/good.png' style='width:23px;height:23px;' title='좋아요' value='1' onclick='onClick(this.value)'>좋아요
<img id='hate1' src='./imoticon/bad.png' style='width:23px;height:23px;' onclick='onClick(this.value)' value='-1' title='싫어요'>싫어요
和 onClick javascript 代码是一样的。
var like_clicks = 0;
var hate_clicks =0;
function onClick(int) {
like_clicks = like_clicks + document.getElementById("like1").value;
hate_clicks = hate_clicks + document.getElementById("hate1").value;
document.getElementById("like1").innerHTML = like_clicks;
document.getElementById("hate1").innerHTML = hate_clicks;
};
但是计数器不起作用。请帮我一个建议。
解决方案
在javascript中使用this
代替this.value
和使用方法getAttribute
<img id='like1' src='./imoticon/good.png' style='width:23px;height:23px;' title='좋아요' value='1' onclick='onClick(this)'/>좋아요
<img id='hate1' src='./imoticon/bad.png' style='width:23px;height:23px;' onclick='onClick(this)' value='-1' title='싫어요'>싫어요/>
在 JavaScript 中:
function onClick(int) {
//alert('click');
console.log(int.getAttribute('value'));
}
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<img id='like1' src='./imoticon/good.png' style='width:23px;height:23px;' title='좋아요' value='1' onclick='onClick(this)'/>좋아요
<img id='hate1' src='./imoticon/bad.png' style='width:23px;height:23px;' onclick='onClick(this)' value='-1' title='싫어요'>싫어요/>
<script>
function onClick(int) {
alert(int.getAttribute('value'));
console.log(int.getAttribute('value'));
}
</script>
</body>
</html>
推荐阅读
- apache-flink - 读取 csv 时使用 flink 的 NUMERIC_VALUE_ILLEGAL_CHARACTER
- java - java中字符串方法子字符串中的错误
- json - 具有指定格式的表到 JSON
- android - Pixel2 Oreo 8.1.0 版中的 BLE 扫描问题
- node.js - 对话流代理不从 HTTP 请求回调中输出文本
- arm - 如何解压缩 ARM“vmlinuz”内核?
- mysql - 如何在 MySQL 2008 中的日期时间 MM/DD/YYYY HH:MM:SS AM 中返回字符串“2016-06-27 05:29:39”
- ios - 在 Swift 中字符串的当前时间
- docker - 停止容器时的不同行为(docker stop vs drain)
- vba - 使用 VBA 将 Sheet1 中的(固定范围)迭代列复制到 Sheet2 中的列范围