元素在没有声明的情况下变量

时间:2017-01-19 15:29:13

标签: javascript

我有一个JavaScript代码,它在#message中有一个值,但我没有在任何地方定义。 $("#message").html(result);是否是Javascript内置的内容?

如果这是一个非常基本和愚蠢的问题,我道歉。

它与我的另一个问题有关“ https://stackoverflow.com/questions/41745209/save-javascript-value-when-converting-speech-to-text-via-webkitspeechrecognition#

完整代码

   <!DOCTYPE html>
<html>
<head>
    <script src="Content/SpeechScript.js"></script>
    <title>Login Screen</title>
    <meta charset="utf-8" />
</head>

<body >
    <div id="results">
        <span id="final_span" class="final"></span>
        <span id="interim_span" class="interim"></span>
    </div>

    <script type="text/javascript">


        function Typer(callback) {
            speak('Welcome ,Please Speak your CPR Number');
            var srcText = 'WelcomeToDanske,PleaseSpeakyourCPR Numberwhat';
            var i = 0;
            debugger;
            var result = srcText[i];
            var interval = setInterval(function () {
                if (i == srcText.length - 1) {
                    clearInterval(interval);
                    callback();
                    return;
                }
                i++;
                result += srcText[i].replace("\n", "<br />");


                $("#message").html(result);
                debugger;
                document.getElementById('user').innerHTML = result;
                //                var parent = document.getElementById('parentDiv');
                //                var text = document.createTextNode('the text');
                //                var child = document.getElementById('parent');
                //                child.parentNode.insertBefore(text, child);
                //                var div = document.getElementById('childDiv');

                //var parent = document.getElementById('parentDiv');
                //var sibling = document.getElementById('childDiv');
                ////var text = document.createTextNode('new text');
                //              //parent.insertBefore(result, sibling);




            },
            100);
            return true;


        }

        function playBGM() {
            startDictation(event);
        }

        Typer(function () {
            playBGM();
        });



        // say a message
        function speak(text, callback) {
            var u = new SpeechSynthesisUtterance();
            u.text = text;
            u.lang = 'en-US';

            u.onend = function () {
                if (callback) {
                    callback();
                }
            };

            u.onerror = function (e) {
                if (callback) {
                    callback(e);
                }
            };

            speechSynthesis.speak(u);
        }
    </script>


</div>
  <div id="clockDisplay">
    <span id="id1">Welcome:</span>
    <table width="100%" border="1"><tr><td width="50%">  Username : </td><td><div id="message"></div></td></tr></table>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

首先,请记住在您的html文档中将jQuery包含为脚本,否则将无法定义$

#message指的是html文档中标记为id="message"

的元素

要通过id 获取jQuery中的元素,请使用以下语法:var Element = $("#ID");

因此,为了确保您的代码有效,请确保两者都有一个ID为message 元素,一个名为result的已定义变量包含要放入元素的html文本。

由于您要附加到<div id="clockDisplay"> <span id="user">Username :</span></div>,为什么不将其更改为:

<div id="clockDisplay"> 
   <span id="user">Username :</span>
   <div id="message"></div>
</div>

答案 1 :(得分:0)

$("#message").html(result); is something inbuilt in Javascript?

没有

$是一个不属于JavaScript规范的变量,也不是浏览器在网页中提供的JS的常见扩展的一部分。它通常被PrototypeJS和jQuery等库使用。这个特殊情况看起来像jQuery,但你不能在你的页面中包含该库。