проблема, пытаясь получить div и клонировать его с помощью jquery

Я довольно новичок в веб-программировании, поэтому, делая логику для веб-страницы, я допустил ошибку, и теперь у меня проблемы.

Я назвал некоторые элементы типа «Dv_1.2.1.3» (не зная проблем, связанных с использованием точки), и у меня возникли проблемы при попытке клонировать (с помощью jquery, вызываемого кнопкой) некоторые из них.

Идентификатор кнопки содержит идентификатор div, который я хочу клонировать, поэтому моя логика:
1) извлечь идентификатор div;
2) получить div и клонировать его (давая новый идентификатор).

Я застрял в получении div из-за точек в id.

Ниже приведен код, который я сделал до сих пор:

$('.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

Решение

Возможно, это поможет: developer.mozilla.org/en-US/docs/Web/API/CSS/escape, Polyfill: github.com/mathiasbynens/CSS.escape/blob/master/css.escape.j‌ s

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]