2017-06-30 18 views
-2

私はマークアップ内の1つのポイントで、これを参照してください。(スパンのIDを気づか)なぜページ上の2つの要素が同じIDを持つのですか? Webページ上で

私はこれを見CDATAセクションの下部にある
<div id="UpdatePanel3">  
    <span id="Timer3" style="visibility:hidden;display:none;"></span> 
    <select name="DropDownList1" id="DropDownList1" class="form-control" 
     size="2" onchange="navFromList(this.value);"> 
     <option value="12720">Blawblawblaw</option> 
    </select>           
</div> 

とDOWN(ユニークIDを注意してください):

Sys.Application.add_init(function() { 
    $create(Sys.UI._Timer, {"enabled":true,"interval":15000,"uniqueID":"Timer3"}, null, null, $get("Timer3")); 
}); 

どのように同じIDを同じページに配置できますか?私はそれがAJAX(または少なくとも部分的なページリフレッシュ)と関係があることを知っていますが、私はそれをまだ理解していません。

誰かが私にこれを説明できますか?

+0

あなたはhtmlとjavascriptの違いを知っています。 Sys.Applicationはスパンを参照します。 – VDWWD

+0

私はTimer3というIDの要素を1つしか見ません...? – Liam

答えて

1

この$createコールは、タイプSys.UI._Timerのオブジェクトを作成し、DOMツリーのスパンにアタッチします。タイマー自体はDOMオブジェクトではなく、javascriptオブジェクトであることに注意してください。これはDOMオブジェクトのidと同じuniqueIDフィールドの値を持っています。

「id」または「ID」フィールドまたは「uniqueID」フィールドに同じ値が設定されている場合、ページライフタイム中に作成するJavaScriptオブジェクトをいくつでも指定できます。それはあなたのDOMモデルに直接関係せず、それと矛盾しません。

+0

その説明をありがとう。ユニークIDを別のIDと同じにすることは、彼らにとっては便利だったかもしれませんが、確かに私を混乱させるかもしれません...初めてそれを見た人。私はタイマーをオフにしようとしていますが、それに対処することはできません。私はこのようなものを試してみます 'var timer3 = $ find( '<%= Timer3.ClientID%>');しかし、timer3は常にnullです。 – davecove

+0

@davecove、別の質問に最適です。あなたは新しいものを投稿できますか? – Andrei

+0

完了...より多くのdownvotesのリスクで... :( – davecove

関連する問題