<script>
var seatselected = 'Hola'
function colorchange(element) {
element.style.background = "#ff914d";
element.style.color = "white";
seatselected += element.innerHTML;
seatselected += '+';
//alert(seatselected);
}
document.getElementById("XYZ").innerHTML = seatselected;
</script>
这是我代码的JS部分。当我调用colorchange函数时,颜色会发生变化。因此,onlick((在HTML中不是一个问题。但是,选定的座位不会更新。innerHTML代码给了我";Hola";,尽管我知道已经执行了颜色更改。同时,如果我在函数中使用alert,它会用我期望全局变量具有的innerHTML值来提醒我。
编辑:当我调用函数时,这是代码的HTML部分。函数调用成功,因为当我单击元素时,背景颜色和文本颜色会发生变化。
<td class="highlight" onclick="colorchange(this)">B1</td>
<td class="highlight" onclick="colorchange(this)">B2</td>
<td class="highlight" onclick="colorchange(this)">B3</td>
<td class="highlight" onclick="colorchange(this)">B4</td>
<p id="XYZ"></p>
我想做的是,我想在一个字符串中添加被点击的元素的innerhtml。现在,当我尝试将它放在XYZ中时,函数内部所做的更改不会显示出来。
- 拿一张纸。(本文表示
seatselected
变量( - 写入";Hola";在那张纸上。(这是字符串(
- 把这张纸读出来。(这表示警报(
- 复印一张纸(这表示指定给元素的
innerHTML
,正如您在注释中提到的那样( - 让朋友向你挥手(按下按钮(,当他们在纸上写下不同的东西时
现在。你有没有听到自己大声说,这张纸上现在写的是什么?复印件上的文字变了吗?
否。
说明书(程序(并没有告诉你每次论文发生变化时都要读出。
它们也不可能让你在纸上写的第二件事回到过去,取代";Hola">在之前,您读出并复印了上面打印的内容。
如果您想在按下按钮后看到警报,则需要编写代码,在按下按钮后调用警报。
即在您从事件处理程序调用的函数中
即您在哪里评论了警报
同样,如果要更改分配给innerHTML
的值,则需要显式更改它。将字符串分配给innerHTML
将分配当前字符串值,而不是对从中复制该值的变量的引用。
刚刚在函数中添加了alert()
<!DOCTYPE html>
<html>
<head>
<title>Add Checkbox Dynamically using JavaScript</title>
</head>
<body>
<table>
<td class="highlight" onclick="colorchange(this)">B1</td>
<td class="highlight" onclick="colorchange(this)">B2</td>
<td class="highlight" onclick="colorchange(this)">B3</td>
<td class="highlight" onclick="colorchange(this)">B4</td>
</table>
</body>
<script>
var seatselected = 'Hola'
function colorchange(element) {
element.style.background = "#ff914d";
element.style.color = "white";
seatselected += element.innerHTML;
seatselected += '+';
alert(seatselected);
}
*/</script>
</html>