我试图让一个脚本,当你在一个十六进制值,然后按输入提交itchanges文字颜色为输入的颜色。

看来问题是我打电话变量新的HTML里面的变量“userInput”的方式

任何想法?

<script type="text/javascript">

function changeText3(){
    var userInput = document.getElementById('userInput').value;
    var oldHTML = document.getElementById('para').innerHTML;
    var newHTML = "<span style='color:userInput'>" + oldHTML + "</span>";
    document.getElementById('para').innerHTML = newHTML;
}

</script>

<p id='para'>Welcome to the site <b>dude</b> </p> 
<input type='text' id='userInput' value='#' />
<input type='button' onclick='changeText3()' value='Change Text'/>
有帮助吗?

解决方案

我建议使用而不是添加越来越多跨距的样式参考:

document.getElementById('para').style.color = userInput;

其他提示

这只是一个线是造成该问题:

var newHTML = "<span style='color:" + userInput + "'>" + oldHTML + "</span>";

你需要“注入”用户输入变量到您的新的HTML变量。见下文;

<script type="text/javascript">

function changeText3(){
    var userInput = document.getElementById('userInput').value;
    var oldHTML = document.getElementById('para').innerHTML;
    var newHTML = "<span style='color:" + userInput + "'>" + oldHTML + "</span>";
    document.getElementById('para').innerHTML = newHTML;
}

</script>

<p id='para'>Welcome to the site <b>dude</b> </p> 
<input type='text' id='userInput' value='#' />
<input type='button' onclick='changeText3()' value='Change Text'/>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top