2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(onLoad());

        function onLoad() {
            alert($("#wcontrol_subtable0").attr('id'));
        }
    </script>
    <title></title>
</head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">
    <div id="wcontrol_pnlMenu">
        <table border="0">
            <tr>
                <td>
                    <table id="wcontrol_subtable0" class="class1" cellspacing="0" cellpadding="0" border="0"
                        style="border-collapse: collapse;">
                        <tr id="wcontrol_subtable0_th">
                            <th>
                                Parameters
                            </th>
                        </tr>
                        <tr>
                            <td>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

非常に正常に見えますが、問題はアラートメソッドが「null」で出力されることです!!!! ここで実際に何が起こっているのかわかりません。

4

2 に答える 2

3

関数を呼び出すのではなく、に渡す必要があります。onLoadready

$(document).ready(onLoad);
//  no parenthesis ----^

それ以外の場合は、の戻り値をメソッドに渡します。つまりonLoad、DOMの準備が整う前に呼び出されます。readyonLoad

于 2011-02-26T20:51:03.247 に答える
0

準備完了イベントでの戻り値を使用しています。onLoad

これは、onLoad関数がすぐに呼び出され(戻り値が何であるかを調べるため)、探している要素が存在しないことを意味します(その要素のDOMはその時点で構築されていないため)。

()戻り値の代わりに関数を渡すために離陸します。

于 2011-02-26T20:51:47.403 に答える