Jquery change text between two elements

后端 未结 8 937
無奈伤痛
無奈伤痛 2020-12-06 10:48

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

for example:


    T         


        
相关标签:
8条回答
  • 2020-12-06 11:23
    
    $(document).ready(function(){
        alert(getAllBetween("input#ch1","input#ch2"));
    });
    
    function getAllBetween(firstEl,lastEl) {
        var firstElement = $(firstEl); // First Element
        var lastElement = $(lastEl); // Last Element
        var collection = new Array(); // Collection of Elements
        collection.push(firstElement); // Add First Element to Collection
        $(firstEl).nextAll().each(function(){ // Traverse all siblings
            var siblingID  = $(this).attr("id"); // Get Sibling ID
            if (siblingID != $(lastElement).attr("id")) { // If Sib is not LastElement
                    collection.push($(this)); // Add Sibling to Collection
            } else { // Else, if Sib is LastElement
                    return false; // Break Loop
            }
        });         
        return collection; // Return Collection
    }
    
    0 讨论(0)
  • 2020-12-06 11:25

    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.

    0 讨论(0)
提交回复
热议问题