Avatar of lowpriceskates
lowpriceskates
Flag for United States of America asked on

Prepend to DOM after Ajax Refresh

Hello, I am using a shopping cart that is very restrictive and I cannot edit what I need to. I am trying to add some text to a DIV using Jquery's .prepend() method, but the DIV that I need to access it not created until the 4th step of the checkout, which is refreshed in between each step.

The checkout is at https://www.lowpriceskates.com/1checkout.aspx
Feel free to add any product to the cart and go to the checkout page to see how it updates.

Here is the code that I want to add:
<script>$('#ctl00_pageContent_divEditAddress').prepend('<h1>Billing Address</h1>');</script>

Open in new window


That is supposed to add the heading "Billing Address" before the Edit link on the Payment step. Please let me know if you need any more info. Thanks!!
AJAXjQueryJavaScript

Avatar of undefined
Last Comment
Kyle Hamilton

8/22/2022 - Mon
mcnute

I've gone till where credit card info is requested and didn't find the div your addressing in your code? Is this a trick to make us buy some rollers?? ;-)
Kyle Hamilton

I see the link.

You can't do it from jquery if that part of the page is refreshed with AJAX, unless there is a callback supplied to the AJAX call. Which I'm guessing it is not. You can contact the author of the javascript does the AJAX - that's about it.

Is there not template file where you can find the spot to add the HTML?
Kyle Hamilton

however, if it helps, you can style the link itself to be more obvious:

#ctl00_pageContent_lnkEditAddress{
font-size: 18px;
}

#ctl00_pageContent_lnkEditAddress:after{
   content: 'Billing Address';
}

That should give you a large: "Edit Billing Address" label
Your help has saved me hundreds of hours of internet surfing.
fblack61
lowpriceskates

ASKER
Thanks for that CSS, kozaiwaniec. That is somewhat helpful, but does not solve my original problem. Is there no way to have Jquery code execute on each refresh of a page? For each time the page is changed or loaded the code is executed?
Thanks!
Kyle Hamilton

you can definitly execute the code on pageload. but when the page content is updated via ajax, it is not reloaded.

to execute on page load wrap your function in the docready function.

$(function(){

//your code

});
lowpriceskates

ASKER
I've requested that this question be deleted for the following reason:

No valid answers.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Kyle Hamilton

the answer is you cant do what you are asking for given the circumstances. that is a valid answer.
lowpriceskates

ASKER
I don't agree, I'm sure that it's possible but I'm not going to argue about it.
lowpriceskates

ASKER
Not actually a solution.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
ASKER CERTIFIED SOLUTION
Kyle Hamilton

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.