• js取不到值的兩種情況

    亮術網 2020-06-01 本網原創

    有時在使用 javascript 取 html 元素的值,發現總是取不到值,不知道原因,可能會很久都解決不了。用 javascript 取不到值常常有以下幾種情況。

     

    1、javascript 放到了待取值元素的前面

    當 javascript 放到了待取值元素的前面時,javascript 執行時,由于待取值的元素還沒有加裁,所以 javascirpt 找不到此元素,導致取不到值。實例如下:

    <!DOCTYPE html>
      <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>js取不到值的幾種情況</title>
        <style type="text/css">
          .content{
            width:500px;
            overflow:hidden;
            border:1px solid #ddd;
          }
          .show{display:block;}
          .hide{display:none;}
        </style>
      </head>
      <body>
        <div class="content">
          <div id="test" class="hide"><a href="http://www.goforfri.com/">網頁打不開</a></div>
        </div>
        <script type="text/javascript" language="javascript">
          function init(){
            var obj = document.getElementById("test");
            if(obj.className == "hide")
              obj.className = "show";
            alert(obj.innerHTML);
          }
          init();
        </script>
      </body>
      </html>

    實例中,如果把 init() 放到待取值的<div id="test" class="hide">前面,是無法取到值的,不過把 function init() 改為 window.onload = function(),無論放到前后都可以取到值,注意把執行 init() 去掉。

     

    2、引用 js 文件不正確也取不到值

    如果把上面源碼中的 javascript 代碼放到一個 js 文件中,像下面這樣引用也取不到值。

    <script type="text/javascript" language="javascript" src="getval.js" />

     

    必須這樣引用才行:

    <script type="text/javascript" language="javascript" src="getval.js"></script>

    也就是說,js 文件的引用不能像其它元素一樣用“/>”表示元素結束。如果加載時就要取 html 元素的值,引用 js 文件的語句也要放到 html 元素的后面,否則也取不到值。

    本文濃縮標簽:js取不到值
    996热re视频精品视频这里