在html中调用变量

时间:2009-11-12 13:37:43

标签: javascript html ajax variables getelementbyid

我正在尝试创建一个脚本,当您输入十六进制值并按提交时,它会将文本颜色更改为输入的颜色。

似乎问题是我在变量new 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'/>

3 个答案:

答案 0 :(得分:8)

我建议使用样式引用而不是添加越来越多的跨度:

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

答案 1 :(得分:2)

这只是导致问题的一行:

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

答案 2 :(得分:0)

您需要将用户输入变量“注入”到新的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'/>