为什么在获取图像值时 this.value 未定义?
Why is this.value undefined when getting value of images?
编码新手,请温柔。由于我们的 class 的限制,这必须使用 pure JavaScript 来完成。目前,我要做的只是 console.log()
用户点击图像的值。在本例中,"Rock" 为 value="0"
,"Paper" 为 value="1"
,"Scissors" 为 value="2"
。我没有使用 this.value
的经验,我想知道是否可以将单击图像的值作为参数传递给名为 "check()".
的函数
HTML
<img src="img/rock.png" alt="Rock" id="rock" value="0" onclick="check(this.value)">
<img src="img/paper.png" alt="Paper" id="paper" value="1" onclick="check(this.value)">
<img src="img/scissors.png" alt="Scissors" id="scissors" value="2" onclick="check(this.value)">
JavaScript(无jQuery)
function check(inputValue) {
console.log(inputValue);
}
我希望输出为 0、1 或 2,具体取决于用户单击的图像。目前,我得到的只是 undefined
.
因为图像没有 value
属性,所以返回时总是 undefined
。另一种方法是使用 data attribute。这些可以使用 this.dataset.<attributeName>
.
检索
例如,data-value
将通过执行 this.dataset.value
来访问。
function check(inputValue) {
console.log(inputValue);
}
<img src="img/rock.png" alt="Rock" id="rock" data-value="0" onclick="check(this.dataset.value)">
<img src="img/paper.png" alt="Paper" id="paper" data-value="1" onclick="check(this.dataset.value)">
<img src="img/scissors.png" alt="Scissors" id="scissors" data-value="2" onclick="check(this.dataset.value)">
图像没有值属性。您最好使用数据属性。
function check(inputValue) {
console.log(inputValue.dataset.value);
}
<img src="img/rock.png" alt="Rock" id="rock" data-value="0" onclick="check(this)">
<img src="img/paper.png" alt="Paper" id="paper" data-value="1" onclick="check(this)">
<img src="img/scissors.png" alt="Scissors" id="scissors" data-value="2" onclick="check(this)">
编码新手,请温柔。由于我们的 class 的限制,这必须使用 pure JavaScript 来完成。目前,我要做的只是 console.log()
用户点击图像的值。在本例中,"Rock" 为 value="0"
,"Paper" 为 value="1"
,"Scissors" 为 value="2"
。我没有使用 this.value
的经验,我想知道是否可以将单击图像的值作为参数传递给名为 "check()".
HTML
<img src="img/rock.png" alt="Rock" id="rock" value="0" onclick="check(this.value)">
<img src="img/paper.png" alt="Paper" id="paper" value="1" onclick="check(this.value)">
<img src="img/scissors.png" alt="Scissors" id="scissors" value="2" onclick="check(this.value)">
JavaScript(无jQuery)
function check(inputValue) {
console.log(inputValue);
}
我希望输出为 0、1 或 2,具体取决于用户单击的图像。目前,我得到的只是 undefined
.
因为图像没有 value
属性,所以返回时总是 undefined
。另一种方法是使用 data attribute。这些可以使用 this.dataset.<attributeName>
.
例如,data-value
将通过执行 this.dataset.value
来访问。
function check(inputValue) {
console.log(inputValue);
}
<img src="img/rock.png" alt="Rock" id="rock" data-value="0" onclick="check(this.dataset.value)">
<img src="img/paper.png" alt="Paper" id="paper" data-value="1" onclick="check(this.dataset.value)">
<img src="img/scissors.png" alt="Scissors" id="scissors" data-value="2" onclick="check(this.dataset.value)">
图像没有值属性。您最好使用数据属性。
function check(inputValue) {
console.log(inputValue.dataset.value);
}
<img src="img/rock.png" alt="Rock" id="rock" data-value="0" onclick="check(this)">
<img src="img/paper.png" alt="Paper" id="paper" data-value="1" onclick="check(this)">
<img src="img/scissors.png" alt="Scissors" id="scissors" data-value="2" onclick="check(this)">