jquery find and replace text, without element id

前端 未结 5 1715
鱼传尺愫
鱼传尺愫 2020-12-05 20:06

I\'m playing around with finding and replacing text.

The only problem I\'m having is finding a text string, that is not attached to an element with an ID. Otherwise

相关标签:
5条回答
  • 2020-12-05 20:28
    $("*").each(function () { 
    if ($(this).children().length == 0){ 
         $(this).html($(this).html().replace(/Old String/g, "New String"));
    }});
    
    0 讨论(0)
  • 2020-12-05 20:49
    $("*").contents().each(function() {
        if(this.nodeType == 3)
            this.nodeValue = this.nodeValue.replace("old", "new");
    });
    
    0 讨论(0)
  • 2020-12-05 20:52

    You want the :contains() selector. http://api.jquery.com/contains-selector/

    $("*:contains('Original Text')").each(...);
    
    0 讨论(0)
  • 2020-12-05 20:53

    why don't you simply use:

    $('body').html($('body').html().replace('Original Text','New Text'));
    
    0 讨论(0)
  • 2020-12-05 20:54

    Takpar, your code works too. It seems to stop a few other things from working, but only items I'm pulling dynamically. For example, when I'm using .ajax(). Not sure why, but that's why I ran into. I'll test more.

    On a related topic, Gumbo's code works:

    $("*").each(function () {
        if ($(this).children().length == 0) {
            $(this).text($(this).text().replace('Subject:','Name:'));
        }
    });
    

    The only thing I'm running into issues with is replacing text that is loaded after the page loads.

    I do have some javascript functions that are displaying data from the server, but only after the page has loaded all elements. For example, a user selects a value from a dropdown that initiates an event to load a list of products from the database.

    I format some of those products like this:

    Granny Smith Apples
    Price: x.xx per pound
    Nutritional facts....
    

    I will only want to find a replace the word "Price:", and possibly replace it with "Cost:".

    But as I mentioned, that data has not been loaded yet.

    Is a limit I have to live with?

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