getElementById('ID')的“唯一ID”以外的其他要求是否有效?

时间:2013-07-09 07:49:52

标签: javascript html kineticjs

我不知道为什么,但这段代码不起作用!除此之外,代码中没有错误!因为当我将num1,num2,num3的值更改为某些预定义值时,它可以正常工作。请帮忙。

HTML是..

    <h3>Choose Image</h3>
    <table border="1">
        <tr>
            <td><h4>Ball_1</h4></td>
            <td><img src="images/b.png"></td>
            <td>No. of Images: <input type="text" id="one_number_id" value="0"> </td>
        </tr>
        <tr>
            <td><h4>Ball_2</h4></td>
            <td><img src="images/b2.png"></td>
            <td>No. of Images: <input type="text" id="two_number_id" value="0"></td>
        </tr>
        <tr>
            <td><h4>Ball_3</h4></td>
            <td><img src="images/b3.png"></td>
            <td>No. of Images: <input type="text" id="three_number_id" value="0"></td>
        </tr>
    </table>

这是在Script.js

var one_n_img = document.getElementById("one_number_id");   
var two_n_img = document.getElementById("two_number_id");
var three_n_img = document.getElementById("three_number_id");
var num1 = one_n_img.value;
var num2 = two_n_img.value;
var num3 = three_n_img.value;

2 个答案:

答案 0 :(得分:0)

除唯一ID之外的唯一要求是该元素在DOM中呈现并可用。如果您之前包含脚本,那么getElementById()将返回null。

将代码包装在window.onload事件中,以确保元素可以使用:

window.onload = function(){
    var one_n_img = document.getElementById("one_number_id");   
    var two_n_img = document.getElementById("two_number_id");
    var three_n_img = document.getElementById("three_number_id");
    var num1 = one_n_img.value;
    var num2 = two_n_img.value;
    var num3 = three_n_img.value;  
};

答案 1 :(得分:0)

您需要在Script.js内查看。您必须运行所有脚本onload事件。对于jquery,请使用$(document).ready否则使用以下解决方案。 $(document).ready equivalent without jQuery

相关问题