检查无线电时检查文本颜色
Check text color when radio is checked
我试图在选中单选按钮时更改 p1 的文本颜色。如果选择向上,则为绿色,或向下,为红色。我可以使用 css 更改单选框的颜色,没有任何问题,但我无法更改文本。
<form>
<p1>Test1: </p1>
<input type="radio" id="up" style="vertical-align: middle" name="test1" value="Up" checked> Up
<input type="radio" id="down" style="vertical-align: middle" name="test1" value="Down"> Down
<input type="radio" id="route" style="vertical-align: middle" name="test1" value="en route"> En route
<input type="radio" id="house" style="vertical-align: middle" name="test1" value="In-House"> In-House
<b> Notes: </b><br>
</form>
欢迎来到 Stack Overflow!
要在JavaScript中设置一个元素的颜色,你只需要访问该元素,然后访问样式对象,然后设置颜色值。比如这个
<p id="changeMe">Text will change to green :)</p>
<script>
// Using ES5 (Ecma-Script 2015) for compatibility sake
var elementToChange = document.querySelector("#changeMe")
elementToChange.style.color = "green"
</script>
您可以像这样检测 JavaScript 中的复选框是否被选中,
<input type="checkbox" id="check">
<h1 style="color: red;" id="res">Checked?</h1>
<button onclick="isChecked()">Check If Checked</button>
<script>
function isChecked() {
var element = document.querySelector("#check")
var res = document.querySelector("#res")
if(element.checked) {
res.style.color = "green"
}
else {
res.style.color = "red"
}
}
</script>
由于我们不喜欢在 Stack Overflow 上用勺子喂食,所以我会让您将 2 和 2 放在一起。祝你有美好的一天!
如果您正在寻找一个纯粹的 CSS 解决方案,因为您没有将其标记为 js 问题,您也可以这样做,但您必须稍微调整一下 HTML .您可以添加任意数量的无线电输入,只要 p 元素在它们之后,这仍然有效。
<form>
<input type="radio" id="up" style="vertical-align: middle" name="test1" value="Up" checked><label for="up"> Up</label>
<input type="radio" id="down" style="vertical-align: middle" name="test1" value="Down"><label for="down"> Down</label>
<p class="color-me">Test1: </p>
</form>
form {
display: flex;
flex-direction: row;
}
.color-me {
order: 1;
}
#up, #up ~ label, #down, #down ~ label {
order: 2;
}
#up:checked ~ .color-me{
background-color: tomato;
}
#down:checked ~ .color-me{
background-color: steelblue;
}
我试图在选中单选按钮时更改 p1 的文本颜色。如果选择向上,则为绿色,或向下,为红色。我可以使用 css 更改单选框的颜色,没有任何问题,但我无法更改文本。
<form>
<p1>Test1: </p1>
<input type="radio" id="up" style="vertical-align: middle" name="test1" value="Up" checked> Up
<input type="radio" id="down" style="vertical-align: middle" name="test1" value="Down"> Down
<input type="radio" id="route" style="vertical-align: middle" name="test1" value="en route"> En route
<input type="radio" id="house" style="vertical-align: middle" name="test1" value="In-House"> In-House
<b> Notes: </b><br>
</form>
欢迎来到 Stack Overflow!
要在JavaScript中设置一个元素的颜色,你只需要访问该元素,然后访问样式对象,然后设置颜色值。比如这个
<p id="changeMe">Text will change to green :)</p>
<script>
// Using ES5 (Ecma-Script 2015) for compatibility sake
var elementToChange = document.querySelector("#changeMe")
elementToChange.style.color = "green"
</script>
您可以像这样检测 JavaScript 中的复选框是否被选中,
<input type="checkbox" id="check">
<h1 style="color: red;" id="res">Checked?</h1>
<button onclick="isChecked()">Check If Checked</button>
<script>
function isChecked() {
var element = document.querySelector("#check")
var res = document.querySelector("#res")
if(element.checked) {
res.style.color = "green"
}
else {
res.style.color = "red"
}
}
</script>
由于我们不喜欢在 Stack Overflow 上用勺子喂食,所以我会让您将 2 和 2 放在一起。祝你有美好的一天!
如果您正在寻找一个纯粹的 CSS 解决方案,因为您没有将其标记为 js 问题,您也可以这样做,但您必须稍微调整一下 HTML .您可以添加任意数量的无线电输入,只要 p 元素在它们之后,这仍然有效。
<form>
<input type="radio" id="up" style="vertical-align: middle" name="test1" value="Up" checked><label for="up"> Up</label>
<input type="radio" id="down" style="vertical-align: middle" name="test1" value="Down"><label for="down"> Down</label>
<p class="color-me">Test1: </p>
</form>
form {
display: flex;
flex-direction: row;
}
.color-me {
order: 1;
}
#up, #up ~ label, #down, #down ~ label {
order: 2;
}
#up:checked ~ .color-me{
background-color: tomato;
}
#down:checked ~ .color-me{
background-color: steelblue;
}