尝试获取div并通过jquery克隆它的问题

时间:2018-01-15 08:07:32

标签: php jquery getelementbyid

我对网络编程很陌生,所以,为网页制作逻辑,我犯了一个错误,现在我遇到了麻烦。

我将一些div命名为“Dv_1.2.1.3”(不知道与使用点相关的问题)并且我在尝试克隆(通过按钮调用jquery)时遇到了一些问题。

按钮id包含我要克隆的div的id,因此,我的逻辑是:
1)提取div的id;
2)获取div并克隆它(给出一个新的id)。

由于id中的点,我因为获得div而感到困惑。

以下代码是我到目前为止所做的:

$('.CloneDiv').click(function () {
    var SplittedId = (this.id).split('_');
    if (SplittedId[0]=='Clone'){
        alert('SplittedId 1 =' + SplittedId[1]);

        //Modify id to use it to find the div to clone
        var UsableId = SplittedId[1].replace(/\./g, '\\\\.');
        alert('UsableId =' + UsableId);
        //Count existing elements
        var ClonedNum = $('#' + 'Dv_' + UsableId + '_').length;
        ClonedNum++;
        var OrigElem = $('#' + 'Dv_' + UsableId).length;
        alert('OrigElem =' + OrigElem); //THIS IS 0
        //NO ELEMENTS FOUND BUT THE ELEMENT EXISTS
        //Clone the element and give new id
        var ClonedElem = $('#' + 'Dv_' + UsableId).clone().attr('id', function( i, val ) {
                                                                return val + '_' + ClonedNum;
                                                                });
        ClonedElem.find("input").val("");

        if (ClonedNum > 1){
            ClonedNum--;
            var AnteId = '#' + 'Dv_' + UsableId + '_' + ClonedNum;
            alert(AnteId);
            $(AnteId).after(ClonedElem);
        }else{
            var AnteId = '#' + 'Dv_' + UsableId;
            alert('AnteId = ' + AnteId);
            $(AnteId).after(ClonedElem);
        };


    }else if(SplittedId[0]=='Del'){
        alert(SplittedId[0]);
        alert('Del');
    }else{
        //error
    };
});

1 个答案:

答案 0 :(得分:1)

可以提供以下帮助:developer.mozilla.org/en-US/docs/Web/API/CSS/escape,Polyfill:github.com/mathiasbynens/CSS.escape/blob/master/css.escape.j s