我想通過使用dojo.byId訪問div元素文本,但它返回的值是在第一次設置值時被選中。它以某種方式綁定了值最初選擇爲div的id,因此即使在將該值更改爲某個其他值後,也會返回相同的值。通過dojo.byId dojo訪問元素時發生的問題1.8
var startDateLabel = dojo.byId("startDateLabel");
<label class="secondaryColor bold75Font floatRight" id="startDateLabel">${startDate} </label>
我試圖用registry.ById,但因爲它是在創建不止一次一個部件,它給人。對於去除「已經被註冊錯誤ID」,我還用destroyRecursive方法,但也沒有按沒有工作。
早些時候,我使用容器的id來加載小部件,並遍歷到children層次結構以獲取標籤值,並且它工作正常。但孩子遍歷代碼使它有點像messy.Something變種 = startDateCont registry.byId(「startDateContainer」); VAR startDateLabel = startDateCont.domNode.children [1]。兒童[1]。兒童[1] .innerHTML;
是否有道場任何其他方式來實現這一目標????
感謝您的信息,但在這種情況下,我不能在這種情況下使用連接點,因爲連接點只能在小部件內部訪問,而我必須從小部件代碼訪問此對象。除了連接點或子節點遍歷,有沒有其他方法可以做到這一點? – user3008412
如果使用'registry.byId(「myWidget」).startDateLabel',則可以從小部件外部訪問DOM節點。它作爲屬性添加到小部件,以便每個人都可以訪問它。但是,通常在OOP中你應該嘗試封裝它。 – g00glen00b
感謝Dimitri,但是我無法理解如何使用widget的id。當我創建一個自定義小部件時,它沒有創建任何id。這是這個id,是它的名字? – user3008412