全局变量在JavaScript中不更新,尽管函数被调用 var seatselected='Hola' 函数颜色更改(元素){ element.style.background=“#ff914d”; element.style.color=“白色”; seatselected+=element.innerHTML; 所选座位+='+'; //警报(已选择座位); } document.getElementById(“XYZ”).innerHTML=seatselected;
这是我代码的JS部分。当我调用colorchange函数时,颜色会发生变化。因此,onlick()在HTML中不是问题。但是,seatselected不会得到更新。innerHTML代码给了我“Hola”,尽管我知道已经执行了颜色更改。同时,如果我在函数中使用alert,它会使用我期望全局变量具有的innerHTML值来提醒我 编辑: 下面是调用函数时代码的HTML部分。该函数被成功调用,因为当我单击元素时,背景颜色和文本颜色会发生变化全局变量在JavaScript中不更新,尽管函数被调用 var seatselected='Hola' 函数颜色更改(元素){ element.style.background=“#ff914d”; element.style.color=“白色”; seatselected+=element.innerHTML; 所选座位+='+'; //警报(已选择座位); } document.getElementById(“XYZ”).innerHTML=seatselected;,javascript,html,global-variables,Javascript,Html,Global Variables,这是我代码的JS部分。当我调用colorchange函数时,颜色会发生变化。因此,onlick()在HTML中不是问题。但是,seatselected不会得到更新。innerHTML代码给了我“Hola”,尽管我知道已经执行了颜色更改。同时,如果我在函数中使用alert,它会使用我期望全局变量具有的innerHTML值来提醒我 编辑: 下面是调用函数时代码的HTML部分。该函数被成功调用,因为当我单击元素时,背景颜色和文本颜色会发生变化 <script> var seatse
<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>
B1
地下二层
地下三层
B4
我想做的是,我想在字符串中添加被单击元素的innerhtml。现在,当我尝试将其放入XYZ时,函数内部所做的更改不会显示出来
seatselected
变量)innerHTML
)如果要在按下按钮后查看警报,则需要编写代码,在按下按钮后调用警报 i、 e.在从事件处理程序调用的函数中 i、 e.您已注释掉警报的位置 同样,如果要更改分配给
innerHTML
的值,则需要显式更改它。将字符串指定给innerHTML
将指定当前字符串值,而不是对复制该值的变量的引用。刚刚在函数中添加了alert()
<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>
使用JavaScript动态添加复选框
地下一层
地下二层
地下三层
B4
var seatselected='Hola'
函数颜色更改(元素){
element.style.background=“#ff914d”;
element.style.color=“白色”;
seatselected+=element.innerHTML;
所选座位+='+';
警报(已选择座位);
}
*/
您能告诉我们完整的代码吗?例如函数的调用方式,函数外部的HTML元素“警报给了我”Hola“即使我知道已执行了颜色更改”,调用函数时不会调用函数外部的alert()
。您可以创建seatselected
->定义功能colorchange
->立即alert
seatselected->稍后调用colorchange
您需要提供。颜色
更改功能从未在您提供的内容中调用过(不是在调用警报
之前,也不是之后)。@WasifHasan我编辑了这篇文章,将其包括在内@VLAZ是的,但是由于我正在更新变量,它应该相应地更新并发出警报。函数中的注释掉的警报提醒了它应该做的事情,它只是没有全局地反映出来。我理解你的意思。我将编辑这个问题,以便更好地解释这个问题。我编辑了这篇文章。也许现在我可以更好地解释我的问题了。我是一名初学者,第一次编写JavaScript。@aarnavg17-对问题的编辑不会改变答案。@aarnavg17“如果我正在更新函数中的全局变量,那么它应该根据“否”更新id XYZ的innerHTML。仅当您再次调用代码行时才会进行更新。变量和HTML之间没有自动同步的“动态绑定”。@aarnavg17-没有。我刚刚写了一个230字的答案,用三种不同的方式解释了原因。嗨,alert只是让我检查全局变量是否正在更新。我需要稍后使用变量seatselected,但是我在函数中所做的更改由于某种原因不会更改。
<!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>