2016-04-05 23 views
0

Textarea'da seçilen bir öğeye etiket koydum ve her etiket bir kimlik alır. Ve ben elemanı bir masada saklıyorum. Ancak bazı etiketleri silmek istiyorum ("ref" ve "point" etiketlerini yazmam gerekiyor). Ve bu işe yaramazsa, bu işlevi çalışıyorum ama: Ben javascriptjavascript: seçilen bir öğenin etiketlerini silme

+0

pful –

+0

Kullanıyorum ama bazen bana bir çözüm vermiyor – AbirH

cevap

0
if(modif.match('[^<]'+tag+'id="(\\d+)">') && modif.match('</'+tag+'[>$]')) 

yılında acemi olduğum arada

<button onclick="deleteTag(textAreaId, 'ref')"> Effacer 

:

function deleteTag(textField, tag) 
{ 
var scrollTop = textField.scrollTop;  //For the scroll of the text 
var start = textField.selectionStart;  //beginning of the selected text 
var end = textField.selectionEnd;   //End of the selected text 
var modif=textField.value.substring(start,end); //The text to modify 
// Remove the tag 
if(modif.match('[^<]'+tag+'id="(\\d+)">') && modif.match('</'+tag+'[>$]')) 
{ 
    var regex; 
    if(tag=="ref") 
    { 
     regex=new RegExp('<'+tag+' id="(\\d+)">'); 
     var opt=modif.match(regex)[1]; 
     document.getElementById("refList").remove(opt-1); 
    } 
    regex=new RegExp('<'+tag+'[^>]+>'); 
    modif=modif.replace(regex, ""); 
    modif=modif.replace('</'+tag+'>', ""); 
    }   
textField.value=textSup+modif+textInf; //We modify the text inside the text area 
textField.scrollTop=scrollTop; 
} 

Ve düğme bu kodu var regex'te fazladan boşluk bırakmanız gerekebilir:

if(modif.match('[^<]'+tag+' id="(\\d+)">') && modif.match('</'+tag+'[>$]')) 
+0

Hayır işe yaramıyor. Ayrıca, kimliğiyle ilgili bir sorunum var silmek istediğim etiketin ardından oluşturulan etiketlerin tüm kimliğini azaltmalıyım. – AbirH

İlgili konular