Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
全局变量在JavaScript中不更新,尽管函数被调用 var seatselected='Hola' 函数颜色更改(元素){ element.style.background=“#ff914d”; element.style.color=“白色”; seatselected+=element.innerHTML; 所选座位+='+'; //警报(已选择座位); } document.getElementById(“XYZ”).innerHTML=seatselected;_Javascript_Html_Global Variables - Fatal编程技术网

全局变量在JavaScript中不更新,尽管函数被调用 var seatselected='Hola' 函数颜色更改(元素){ element.style.background=“#ff914d”; element.style.color=“白色”; seatselected+=element.innerHTML; 所选座位+='+'; //警报(已选择座位); } document.getElementById(“XYZ”).innerHTML=seatselected;

全局变量在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

这是我代码的JS部分。当我调用colorchange函数时,颜色会发生变化。因此,onlick()在HTML中不是问题。但是,seatselected不会得到更新。innerHTML代码给了我“Hola”,尽管我知道已经执行了颜色更改。同时,如果我在函数中使用alert,它会使用我期望全局变量具有的innerHTML值来提醒我

编辑: 下面是调用函数时代码的HTML部分。该函数被成功调用,因为当我单击元素时,背景颜色和文本颜色会发生变化

<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
  • 让朋友向你挥手(按下按钮),当他们在纸上写下不同的东西时
  • 现在。你有没有听到你自己大声说,无论现在写在纸上的是什么?复印件上的文字有变化吗

    说明书(程序)并没有告诉你每次改变时都要读出来

    他们也不可能让你写在纸上的第二件事回到过去,在你读出并复印打印在纸上的内容之前取代“Hola”


    如果要在按下按钮后查看警报,则需要编写代码,在按下按钮后调用警报

    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>