javascript - 如何在Javascript中比较id
问题描述
我试图比较一个简单的代码,如果用户单击按钮,那么输出将显示适当的答案,但我似乎找不到任何正确的方法来做到这一点。
<!DOCTYPE html>
<html>
<body>
<p>Gender</p>
<label><input type="radio" name="gender" id="male" value="Male">Male</label>
<label><input type="radio" name="gender" id="male" value="Female">Female</label>
<br>
<br>
<button onclick="myFunction()">Try it</button>
<p id="demo">
<script>
function myFunction() {
var x = document.getElementById("demo").value;
var m = document.getElementById("male").value;
var f = document.getElementById("female").value;
if(x === m)
x.innerHTML = "You are male.";
else if(x === f)
x.innerHTML = "You are female.";
}
</script>
</body>
</html>
解决方案
您想要以下内容:
<html>
<body>
<p>Gender</p>
<label><input type="radio" name="gender" id="male" value="Male">Male</label>
<label><input type="radio" name="gender" id="female" value="Female">Female</label>
<br>
<br>
<button onclick="myFunction()">Try it</button>
<p id="demo">
<script>
function myFunction() {
var x = document.getElementById("demo");
var m = document.getElementById("male").checked;
var f = document.getElementById("female").checked;
if (m)
x.innerHTML = "You are male.";
else if (f)
x.innerHTML = "You are female.";
}
</script>
</body>
</html>
首先你有两个男性输入的 id,你希望女性输入是女性:
<label><input type="radio" name="gender" id="female" value="Female">Female</label>
其次,您想获取是否选中了单选按钮,而不是它的值:
var m = document.getElementById("male").value; // returns Male in your case
var m = document.getElementById("male").checked; // returns true or false depending on whether it's been checked
然后逻辑需要一点改动:
if (m) // they selected male
x.innerHTML = "You are male.";
else if (f) // they selected female
x.innerHTML = "You are female.";
推荐阅读
- asp.net-core - 构建应用程序时 WebSockets 不工作
- c# - 5 个日志实例在一个控制台 Serilog
- ios - 增加滑块宽度:快速
- wpf - 如何删除出现在 VerticalAlignment = Center 上的 DatagridTextCell 周围的边框?
- macos - 在 Mojave 上获取鼠标坐标
- angular - router.navigate 不适用于命名路由器插座
- arrays - 快速使用任何元素类型是一种好习惯吗?
- spring-batch - 在Spring-XD作业模块中,如何在运行XD容器的两台服务器中分别向同一路径下的两个文件写入数据?
- python - TensorFlow:Dataset 的 apply 方法的简单自定义 transformation_func 的示例实现
- php - 单词“ART”正在转换为时间戳