JavaScript: How to remove tags from node?

In the previous question, someone put me on "rangy" http://code.google.com/p/rangy/ . This is interesting, even if I do not quite understand it. I am not a person with JavaScript. Nevertheless, I managed to do everything I need with it, with the exception of 1. The concept is very simple RTE, just bold, italic, etc. I succeeded, created a link made too, OK, that maybe the guy JS took 2 minutes took me hours and hours - disappointment, but I think that I study a little - very slowly. Anyway, using rangy, I can create (sorry bad code) an href link like this:

$('#linkbut').live('click',function(){
        var sel = rangy.getSelection();     
        var range = sel.getRangeAt(0); 
        range.splitBoundaries(); 
        var textNodes = range.getNodes([3]); 
            for (var i = 0, len = textNodes.length; i < len; ++i) { 
            var newLink = document.createElement('a');
            newLink.setAttribute('href','test.html');
            var linkText = document.createTextNode(sel);
            var parent = textNodes[i].parentNode;
            parent.insertBefore(newLink,textNodes[i]); 
            newLink.appendChild(linkText);
            range.deleteContents();
            }
    });

#linkbut - HTML, href (test.html) " ". , , "" , .

: , , "" - , " ":

$('#deletelink').live('click',function(){
                var sel = rangy.getSelection();     
                var range = sel.getRangeAt(0); 
                range.splitBoundaries(); 
                var textNodes = range.getNodes([3]); 
                var txt = sel.toString();
                range.deleteContents();
                var replaceText = document.createTextNode(txt);
                sel.appendChild(replaceText);

            });

, (, ), , "" , node , :

  • - sel = rangy.getSelection();
  • "sel" var txt = sel.toString();
  • - a range.deleteContents();
  • var replaceText = document.createTextNode(txt); sel.appendChild(ReplaceText);

" " , " ".

, - ;)

+3
2

, , .

var el = document.getElementsByTagName('span')[0]; // Get the element in question
var pa = el.parentNode;

while(el.firstChild) {
    pa.insertBefore(el.firstChild, el);
}

pa.removeChild(el);
pa.normalize();

: normalize() , . node .

, .

+1

, , jQuery, NeXXeuS , .html() .

:

<div id="mydiv"></div>

: `

$('#mydiv').append('<a href="test.html">Test Link</a>');

html :

<div id="mydiv"><a href="test.html">Test Link</a></div>

:

$('#mydiv a');

, :

$('#mydiv').html('');
0

All Articles