2016-04-05 11 views
0

私はテキストエリア内の選択された要素にタグを付け、すべてのタグはidをとります。そして私は要素をテーブルに格納します。 しかし、私はいくつかのタグを削除したい(私はタグ "ref" et "ポイント"のタイプをしなければならない)。そして、私はそれが動作しません、この機能を試してみたが:私はjavascriptのjavascript:テキスト内の選択された要素のタグを削除する

+0

フィドルはhel pful –

+0

私はそれを使用しますが、何度かそれは私に解決策を与えません – AbirH

答えて

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

で初心者だちなみに

<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; 
} 

とボタンは、このコードを持っています多分あなたは正規表現の余分なスペースが必要です:

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

それは動作しません。また、idに問題があります。削除したいタグの後に作成されたタグのIDをすべて減らす必要があります。 – AbirH

関連する問題