尝试获取 div 并通过 jquery 克隆它的问题
issue trying to get a div and clone it via jquery
我是网络编程的新手,所以在为网页制作逻辑时,我犯了一个错误,现在我遇到了麻烦。
我将一些 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
};
});
这些可能有帮助:developer.mozilla.org/en-US/docs/Web/API/CSS/escape,Polyfill:github.com/mathiasbynens/CSS.escape/blob/master/css.escape.j s
我是网络编程的新手,所以在为网页制作逻辑时,我犯了一个错误,现在我遇到了麻烦。
我将一些 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
};
});
这些可能有帮助:developer.mozilla.org/en-US/docs/Web/API/CSS/escape,Polyfill:github.com/mathiasbynens/CSS.escape/blob/master/css.escape.j s