JQuery :: Replace All Text In HTML Containing Hello
Sep 22, 2011
I want to replace all text in the html that contains the word "Hello" to "Hi" (quotes not included and not case-sensitive). Here's what I've made:
if ($('body:contains("Hello")').length > 0) {
$("*").each(function () {
$('body').html($('body').html().replace('Hello','Hi'));
});}
Without the:
$("*").each(function () {
It only searches for the first word so I added the line above to search within all elements (If this is correct). But the problem is, I notice that the line I added seems to cause the page to run slower than usual. Is there any other way to do this?
JavaScript learner, first time poster. When I grow up, I want to be a JS guru. In the meantime, if I had hair, I'd have pulled it out yesterday. I've been working for a few days now, trying different techniques to perform what I think should be a simple function. Here's the situation:
I have an HTML page:[URL]... ...which calls a function in a JS file on another server [URL].. which I did not write, nor can I change. The JS file determines the date and time, checks it against a list of conditions, then displays one of two gifs indicating whether or not an online help person is expected to be online, based on the date and time.
The list of conditions in the JS changes from time to time (holidays), so I want to continue calling the JS but the problem is the graphic it references does not fit into our available space for it. The function within the JS:
Can method replaceWith() be used to replace just ONE WORD in body of a tag (i.e., element.html()?) with another word? I have li's with "tab one", "tab two", "tab three" etc.. I have to replace dynamically ONLY the word "tab" with another word..
I have page with an Ajax request which returns an entire <hml>..</html> page and I would like to use this response data to replace the current page. I wrote the following :
I've seen an other post talking about not being able to perform a .html().replace() also, but no one replied.
[URL]
Why is this? I ran into the same problem and from what I was seeing, the replace() was only replacing the very first match. My work around was pretty simple, I just keep running replace() until it was done, but I'm dumbfounded as to why this would need to be done.
while (newLastRow.html().indexOf(settings.placeholder) > -1){ newLastRow.html(newLastRow.html().replace(settings.placeholder, curTotal)); }
As with the other post, I'm dynamically adding html to the page using a template, where the replace() method is updating the IDs of the fields when adding a new instance.
What's special about the value returned by the html() method? Is there a different preferred way to do this?
I'm redesigning my website at the moment and am looking todo things a little more efficiently this time around.Currently, I have something that looks like this like this:HEADING NUMBER ONEimage oneimage twoimage threeHEADING NUMBER TWOimage fourimage fiveimage sixWhen someone hovers over image one, the actual text of "HEADING NUMBERONE" changes to "IMAGE ONE IS COOL," and reverts when their cursorpasses out of the image.When someone hovers over image five, the actual text of "HEADINGNUMBER TWO" changes to "IMAGE FIVE IS THE COOLEST," and reverts whentheir cursor passes out of the image.The "images" in question will actually be used to manipulate aGalleriffic 1.0 slideshow, built on jQuery, so I'd love to find anice, efficient way to do this, also using jQuery.
I've recently moved over from Protoype and was used to using the update() function to replace text within a node - something like this:
PROTOTYPE <p id='dText'>text to be replaced $('dText').update('New text string')
[code]....
Now it appears to me that in jQuery, there isn't an out of the box function to replace the contents of a node without also replacing the node too, hence the reason I am chaining remove() and append().
Tried searching but couldn't seem to come up with the language to yield any relevant results. My problem is as follows:I have a block of links inside of which are < smaller > tags which hold a generated piece of text. When a user clicks on one of these links (a.clip) I need the text within #fade to be replaced with the text inside of the < smaller > tags within that link.This is the code I have which only partially works...
$(".clip").click(function(){ var title = $('smaller').html(); $('#fade').html(title);
The javascript below is looking for the word 'margaret thatcher' in the body and surrounding it with a link. It's lower-case but the script is ignoring the case so that won't matter. But, the problem is that because Margaret Thatcher is a proper noun, it will be capitalized in the body text yet replaced with lower-case text. How can I modify this script to look for the word while ignoring the case but use the same text it found as the replacement instead of using the text object?
I have the following JQuery code in place [code]For now that replaces the text of all of the anchor tags within the div 'twitter_update_list with the text GO however I want to modify this so it replaces all of the anchor tags in that div in this way EXCEPT for the very last anchor tag in that div which I need to stay as it is.
I have been trying to figure out how to find all instances of a certain word or phrase within an element and wrap those words in <span> tags or other html. I.e. change all instances of 'the keywords' to <span>the keywords</span>So far I've found a lot of references to :contains() but that will change the element the text is inside of rather than just the text itself
I'm having a bit of an issue with the site I'm building at the moment. It's currently under [url] with the CSS at [url] and the relevant jQuery file at [url] If you're using Firefox or Chrome you'll see that upon clicking the tabs, the image and text all changes. However in Internet Explorer the text doesn't change, it merely adds onto itself (This will be a lot clearer if you check it out on the site.)
I need to replace the captions with simple text for download speed purposes. This is controlled by a piece of Javascript written for me. I need to change the caption image for a text one.
I have the following Javascript code to write a code to the page using InnerHTML. But instead of writing the code, it shows the content of the iframe. How can I make the code write straight text of the HTML code...
Possible Duplicate: Replace words in a string, but ignore HTML Is it possible to ignore the HTML elements when calling Replace?
Sample code:
$myText.replace(new RegExp( $searchString, 'gi' ), '<span class="highlight">'+ $searchString + '</span>'); $myText is a large string of HTML e.g.: var $myText =