如何做以下掩码输入问题?

我有一个掩盖文本框的脚本,就在这里

  jQuery(function($) { $('#j').mask('99:99'); });  

我也有一个脚本动态添加文本框,而我点击一个按钮

  function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var colCount = table.rows[0].cells.length; for(var i=0; i<colCount; i++) { var newcell = row.insertCell(i); newcell.innerHTML = table.rows[0].cells[i].innerHTML; //alert(newcell.childNodes); switch(newcell.childNodes[0].type) { case "text": newcell.childNodes[0].value = ""; newcell.childNodes[0].id="j"; alert(newcell.childNodes[0].id); break; case "checkbox": newcell.childNodes[0].checked = false; break; case "select-one": newcell.childNodes[0].selectedIndex = 0; break; } } } function deleteRow(tableID) { try { var table = document.getElementById(tableID); var rowCount = table.rows.length; for(var i=0; i<rowCount; i++) { var row = table.rows[i]; var chkbox = row.cells[0].childNodes[0]; if(null != chkbox && true == chkbox.checked) { if(rowCount <= 1) { alert("Cannot delete all the rows."); break; } table.deleteRow(i); rowCount--; i--; } } }catch(e) { alert(e); } }  

我的输入框是

  
   

我现在面临的问题是,第一个文本框将有一个蒙版结构,但在我用j脚本的帮助动态添加一个文本框后,我不会将文本框视为蒙版?为什么? 我做错了什么?

使用livequery插件 。 然后给出你想要掩盖类maskme所有元素。 现在你可以这样做:

 $(".maskme").livequery(function(){ $(this).mask('99:99'); }); 

这将掩盖即使在首次运行代码后添加的输入。

使用类创建绑定到输入的事件(如果不必使用,则不要使用ID)。 使用jQuery .on方法http://api.jquery.com/on/

例:

   

您可以动态创建所需的那些输入,并使用on事件绑定来屏蔽它们。 您创建的该类的每个新输入都将附加到该事件处理程序。

首先不要在输入上使用ID

  

第二,如果您使用jQuery然后使用它。 这更容易阅读。

  

掩码插件不会绑定到DOM中的新元素,而是绑定到$(’#j’)选择器中当时存在的元素。

  1. 使用类而不是ID(因为你不能合法地在页面上有两个具有相同id的元素),和
  2. 如有必要,在添加到DOM后,在动态创建的元素上重新调用.mask()