innerXhtml和onclick属性有问题

时间:2011-01-14 11:51:19

标签: javascript xhtml innerxhtml

在XHTML页面中,我有这个div:

<div id="listAzioni">
    <h4 style="margin-bottom:3px;">List shape :</h4>
</div>

随后通过javascript使用库innerXhtml将输入元素合并到div中。

var paper = document.getElementById("listAzioni");  
var toWrite = "<h4 style=\"margin-bottom:3px\">List shape :</h4>";  
toWrite += "<input type=\"button\" class=\"listButton\" value=\""+id+"\" onclick=\"showAction('"+id+"');\"/>"+'<br/>'; 
innerXHTML(paper,toWrite);

但添加输入元素后没有onclick属性。我努力了,但我找不到任何能解决问题的方法。我哪里做错了?

1 个答案:

答案 0 :(得分:0)

您尝试过哪些浏览器?

我建议您使用标准DOM API,我编写如下代码:

<html>
  <head>
    <style type="text/css">
    .button {
      border: 1px solid black;
      padding: 3px;
    }
    </style>
    <script type='text/javascript'>
      function addButton() {
        var container = document.getElementById('container');
        if (container != null && container != undefined) {
          var child = document.createElement("div");
          var button = document.createElement("input");

          button.value = "Click to alert";
          button.type = "button";
          child.style.padding = "10px";
          child.style.border = "2px solid red";    
          button.className = "button";

          button.onclick = showAlert;
          child.appendChild(button);
          container.appendChild(child);
        }
      }

      function showAlert() {
        alert("you clicked the button!");
      }
    </script>
  </head>
  <body>
    <div id="container"></div>

    <input value="add div and button" type='button' onclick='addButton();'/>
  </body>
</html>