为什么javascript函数会给我相同的值
为什么每次我选择其他收音机按钮时,该功能都会给我相同的值为什么javascript函数会给我相同的值,javascript,html,Javascript,Html,为什么每次我选择其他收音机按钮时,该功能都会给我相同的值 <form> <input type="radio" id="male" name="gender" value="male"> <label for="male">Male</label><br> <input type="radi
<form>
<input type="radio" id="male" name="gender" value="male">
<label for="male">Male</label><br>
<input type="radio" id="female" name="gender" value="female">
<label for="female">Female</label><br>
<input type="radio" id="other" name="gender" value="other">
<label for="other">Other</label>
<button onclick="addSpan()">Try it</button>
</form>
男性
女性
其他
试试看
这是函数
<script>
function addSpan() {
var female = document.getElementById("female");
var male = document.getElementById("male");
var other = document.getElementById("other");
if (document.getElementById("female").checked = true) {
document.body.innerHTML += '<span class="bullet">female</span> ';
}
else if (document.getElementById("male").checked = true) {
document.body.innerHTML += '<span class="bullet">male</span> ';
}
else {
document.body.innerHTML += '<span class="bullet">other</span> ';
}
}
函数addSpan(){
var female=document.getElementById(“女性”);
var male=document.getElementById(“male”);
var other=document.getElementById(“其他”);
if(document.getElementById(“女性”).checked=true){
document.body.innerHTML+='female';
}
else if(document.getElementById(“male”).checked=true){
document.body.innerHTML+='male';
}
否则{
document.body.innerHTML+=“其他”;
}
}
结果
[在此输入图像描述][1]使用
=
代替==
function addSpan() {
var female = document.getElementById("female");
var male = document.getElementById("male");
var other = document.getElementById("other");
if (female.checked === true) { // when checking something is true/false use === not = as = assigns a new value and === is checking if it is equal, also use the variables you assigned at the start
document.body.innerHTML += '<span class="bullet">female</span> ';
}
else if (male.checked) { // You can actually shorthand this as an IF statement automatically checks for if its equal to true
document.body.innerHTML += '<span class="bullet">male</span> ';
}
else {
document.body.innerHTML += '<span class="bullet">other</span> ';
}
}
函数addSpan(){
var female=document.getElementById(“女性”);
var male=document.getElementById(“male”);
var other=document.getElementById(“其他”);
如果(female.checked===true){//在检查某个值是否为真/假时,使用===not=as=分配一个新值,并且===正在检查该值是否相等,也使用您在开始时分配的变量
document.body.innerHTML+='female';
}
elseif(male.checked){//实际上,您可以将其简写为if语句,自动检查其是否等于true
document.body.innerHTML+='male';
}
否则{
document.body.innerHTML+=“其他”;
}
}
用=
代替=
function addSpan() {
var female = document.getElementById("female");
var male = document.getElementById("male");
var other = document.getElementById("other");
if (female.checked === true) { // when checking something is true/false use === not = as = assigns a new value and === is checking if it is equal, also use the variables you assigned at the start
document.body.innerHTML += '<span class="bullet">female</span> ';
}
else if (male.checked) { // You can actually shorthand this as an IF statement automatically checks for if its equal to true
document.body.innerHTML += '<span class="bullet">male</span> ';
}
else {
document.body.innerHTML += '<span class="bullet">other</span> ';
}
}
函数addSpan(){
var female=document.getElementById(“女性”);
var male=document.getElementById(“male”);
var other=document.getElementById(“其他”);
如果(female.checked===true){//在检查某个值是否为真/假时,使用===not=as=分配一个新值,并且===正在检查该值是否相等,也使用您在开始时分配的变量
document.body.innerHTML+='female';
}
elseif(male.checked){//实际上,您可以将其简写为if语句,自动检查其是否等于true
document.body.innerHTML+='male';
}
否则{
document.body.innerHTML+=“其他”;
}
}
您想要=
而不是=
在这里:
document.getElementById("female").checked == true
=
使之成为现实=
询问它是否为真。您希望=
而不是=
在此处:
document.getElementById("female").checked == true
=
使之成为现实=
询问它是否为真。evrey time return-female==true而不是=true…尝试使用。getElementByName而不是getElementByIdsee:less codeevrey time return-female==true而不是=true…尝试使用。getElementByName而不是getElementByIdsee:less code===
在这里不起作用,因为它的bool==适用于true和truefalse?选中返回一个布尔值抱歉。。。我猜是个坏习惯。我很困惑,我在这里使用===?====
不起作用,因为它的布尔===适用于true和false?。checked返回一个布尔值抱歉。。。我猜是坏习惯。我很困惑我在用===?谢谢works@abdelkaderfattnassi请将此标记为已回答。谢谢works@abdelkaderfattnassi请将此标记为已回答。