Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jquery change text between two elements

I want to change text between two elements using JQuery, but I don't have any idea !

for example:

<input type='checkbox' name='ch1'>
    This text must be changed !!!
<input type='checkbox' name='ch2'>

Also, I don't have any control over this Html code, so I can't add any IDs or tags.

like image 920
Majid Darabi Avatar asked Nov 14 '11 06:11

Majid Darabi


1 Answers

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.

like image 122
Frédéric Hamidi Avatar answered Sep 18 '22 07:09

Frédéric Hamidi