我对网络编程很陌生,所以,为网页制作逻辑,我犯了一个错误,现在我遇到了麻烦。
我将一些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
};
});
答案 0 :(得分:1)
可以提供以下帮助:developer.mozilla.org/en-US/docs/Web/API/CSS/escape,Polyfill:github.com/mathiasbynens/CSS.escape/blob/master/css.escape.j s