QuerySelector 设置文本值

Rex*_*xha 4 javascript

我有这个循环,它应该将<input type="text"/>值设置为 none 并更新占位符。当我登录的节点,它工作正常,但valueplaceholder没有更新?怎么了?

数据是一个 JSON 对象。

var data = {"password":"password","username":"xhinii"};
Run Code Online (Sandbox Code Playgroud)

JS:

var data = {"password":"password","username":"xhinii"};

for(var prop in data) {
    console.log(document.querySelector('input[name = "' + prop + '"]')); //works fine. logs the node.
    document.querySelector('input[name = "' + prop + '"]').value = ''; //doesn't work
    document.querySelector('input[name = "' + prop + '"]').setAttribute('placeholder', data[prop]);//doesn't work
}
Run Code Online (Sandbox Code Playgroud)

Zak*_*rki 7

你不应该解析一个对象只是使用它:

var data= {"password":"password","username":"xhinii"};

for(var prop in data) {
    document.querySelector('input[name = "' + prop + '"]').value = prop; 
    document.querySelector('input[name = "' + prop + '"]').setAttribute('placeholder', data[prop])
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name='password' />
<input name='username' />
Run Code Online (Sandbox Code Playgroud)