我刚开始学习JS而且我有点卡住了。 所以我有一个HTML代码+ JS来改变
值,但它不起作用,我不明白为什么...谢谢你的帮助^^
<p class="username">T</p>
<input type="text" class="usernameValue">
<button onclick="usernameChange()">Change</button>
function usernameChange(){
var usernameValue = document.querySelector('.usernameValue').value;
var username = document.querySelector('.username').innerHTML;
username = usernameValue;
}
哦,我太笨了,谢谢大家的帮助
答案 0 :(得分:4)
username
不是对实际字符串的引用。如果您想要使用类innerHTML
更改元素的username
,则需要明确说明
document.querySelector('.username').innerHTML = usernameValue;
另外,你的HTML中有拼写错误。它应该是onclick
,而不是onlick
。
答案 1 :(得分:3)
您要将一个字符串分配给另一个字符串,它不会更新元素&#39; innerHTML
,您需要这样做
document.querySelector('.username').innerHTML = usernameValue ;
您还需要将onlick
更改为onclick
,请参阅下面的演示。
<强>演示强>
function usernameChange(){
var usernameValue = document.querySelector('.usernameValue').value;
document.querySelector('.username').innerHTML = usernameValue;
}
&#13;
<p class="username" id="username">T</p>
<input type="text" class="usernameValue">
<button onclick="usernameChange()">Change</button>
&#13;
答案 2 :(得分:0)
它应该是<button onclick="usernameChange()">Change</button>
而不是<button onlick="usernameChange()">Change</button>
答案 3 :(得分:0)
似乎不是带有用户名类的div,所以如果它不在您的代码中,请添加。
onclick
<button onclick="usernameChange()">Change</button>
您还希望捕获元素本身而不是对innerHTML
的引用,然后将元素的innerHTML设置为您的值。
var username = document.querySelector('.username');
username.innerHTML = usernameValue;
function usernameChange(){
var usernameValue = document.querySelector('.usernameValue').value;
var username = document.querySelector('.username');
username.innerHTML = usernameValue;
}
&#13;
<div class="username"></div>
<input type="text" class="usernameValue">
<button onclick="usernameChange()">Change</button>
&#13;