在Javascript中替代此选项

时间:2017-04-06 17:38:48

标签: javascript arrays input this selectors-api

我在codepen上有这段代码:https://codepen.io/RaoniSousa/pen/Zpkxbb

var x = document.querySelectorAll('.label'), //label com ID label,
    z = document.querySelectorAll('.input'); //input com ID name;

function myFunction() {
'use strict';
if (this.value !== "" ) {
    this.style.opacity = '1';
    this.style.bottom = '4em';
    this.style.color = '#722872';
    console.log(this);
} else {
    this.style.opacity = '0';
    this.style.bottom = '1.5em';
    console.log(this);
    }
}

在上面的函数中,我只想改变标签的样式(var x)。我知道' this '指的是.input(var z),但是,我想在我更改相关输入值时将样式应用于标签,但如果我使用for循环,他会同时调用所有标签。有没有办法通过使用' this.style '来调用var z的var x intead,或者有人知道这个代码的另一种替代方法?

我希望它在这里发挥作用(滚动栏直到与我联系部分):https://codepen.io/freeCodeCamp/pen/YqLyXB

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个

function myFunction() {
    'use strict';
    if (this.value !== "" ) {
        this.nextElementSibling.style.opacity = '1';
        this.nextElementSibling.style.bottom = '2em';
        this.nextElementSibling.style.color = '#722872';
        console.log(this.nextElementSibling);
    } else {
        this.style.opacity = '.4';
        this.style.bottom = '.5em';
        console.log(this);
    }
}