Jquery change text between two elements

You can call contents() on the parent element to obtain its child text nodes, then use slice() with index() to locate the text nodes you want to remove. From there on, after() will allow you to add the new content:

var ch1 = $("input:checkbox[name=ch1]"),
    ch2 = $("input:checkbox[name=ch2]"),
    contents = ch1.parent().contents();
contents.slice(contents.index(ch1) + 1, contents.index(ch2)).remove();
ch1.after("The text was changed.");

You can test it in this fiddle.

Leave a Comment