たとえば、以下のようなXULで、ポップアップの内容を動的に追加した場合
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="popup-window" title="popup test" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="aaaa" /> <popup id="popupPanel" /> <script type="application/x-javascript"> <![CDATA[ window.addEventListener('load', function() { var popupPanel = document.getElementById('popupPanel'); document.addEventListener('dblclick', function() { var label = popupPanel.appendChild(document.createElement('label')); // label#valueだと、初回だけ設定できない(2回目以降はOK) label.value = new Date().toString(); // setAttributeだと大丈夫 //label.setAttribute('value', new Date().toString()); popupPanel.showPopup(document.documentElement, 0, 0, "popup", null, null); }, true); }, false); ]]> </script> </window>
なぜか、初回だけlable#valueで値が設定できません。
setAttributeでやれば、初回もちゃんと設定されます。