読者です 読者をやめる 読者になる 読者になる

XULでpupupにlabelを動的に追加した際に、label#valueでの値の設定が初回だけ出来ない

スポンサーリンク

たとえば、以下のような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でやれば、初回もちゃんと設定されます。