将JQuery应用于插入的克隆节点

时间:2013-03-08 19:35:10

标签: javascript jquery html dom

我正在尝试将JQueryUI's DatePicker应用于节点,它适用于所有预先创建的节点,但是当我使用clone插入新节点时,我似乎无法应用它。

以下是我创建新节点的功能。

function addActivity()
{
    var what=["spacer","mWith","mType","mDate","mWhere"];
    var newActivity;
    for(i=what.length;i>0;i--)
    {

        newActivity = document.getElementById(what[i-1]).cloneNode(true);
        insertAfter(document.getElementById("mWhere"),newActivity); 
    }

}

编辑:和我的insertAfter函数

function insertAfter(referenceNode, newNode) 
{
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

有问题的HTML我试图克隆

            <tr  id="mDate">
                <td>Activity Time: </td><td><input  class="dateTimeField" id="actTime" type="text" name="meetingDate[]" /></td>
            </tr>

我试图再次运行我的JQuery

 $(function() {
$( ".dateField" ).datepicker();
$( ".dateTimeField" ).datetimepicker();
}); 

但似乎没有影响新节点

甚至尝试过

onfocus="$(this).datetimepicker();"

没有运气,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

想出来。 显然,在应用datepicker之前,您需要从节点中删除ID和Class。

我添加了以下内容

        if(what[i-1]=="mDate")
        {
            $(newActivity).find('input').removeAttr('id');                  
            $(newActivity).find('input').removeAttr('class');                   
            $(newActivity).find('input').datetimepicker();
        }

   newActivity = document.getElementById(what[i-1]).cloneNode(true);