2013-01-13 39 views
0

在作爲Web應用程序部署的Google Apps腳本中執行getElementById()時,是否可以在Google Apps腳本中知道此元素的父項?getElementById()的父項

我試圖JavaScript表達式像.parentNode.parentElement在一起並沒有.id表達。我也使用了parent()函數,但都返回一個錯誤。

Here你可以看到我試過的所有不同的可能性。
的錯誤是:
- 在找不到對象按鈕父
- 無法調用方法添加的不確定

我看到的是,在htmlservice可以使用parentNode是不可能的谷歌內應用程序腳本部署爲Web應用程序

+0

這不是一個文檔的div元素,這是一個UI在google-apps-script用戶界面中的元素... – pbhd

+0

我一直在研究它,但真的在常規應用程序腳本中測試parentNode,parentNode.id,parentElement,parentElement.id或parent()函數時不是htmlservice)作爲一個Web應用程序部署,這些似乎都沒有工作。我嘗試了所有方法,無法在[此處]查看(https://sites.google.com/a/lagaroo.com.br/dev-test/dev-test/dev-test-elements)。 – Jacobvdb

回答

0

沒有這樣的方法可用。但是你可以通過setTag存儲父的ID在標籤:

var aLabel = app.createLabel("A Label").setId('alabel').setVisible(true).setTag ('vpanel'); 

,所以你可以在你的事件處理程序寫:

var vPanel = app.getElementById(app.getElementById('alabel').getTag()); 
+0

這是一個很好的解決方案,如果以前看過,但沒有class.method可以在沒有標籤或命名約定的情況下訪問元素的父項,例如將父項的名稱放在標識中,而不是子字符串。 – Jacobvdb