How to set a new value for data-url attribute using jquery?

Himanshu Dwivedi picture Himanshu Dwivedi · Dec 19, 2015 · Viewed 8k times · Source

Before page load:

<a data-url="htts://xyz@..." class="mybuttons"  data-type="facebook">

After: On page load using jquery I used to append new data-url

<a data-url="https://abc@..." class="mybuttons"  data-type="facebook">

Now when I want to share this new data url using facebook api then it show old url https://xyz@... in url bar.

I want new data-url to be shared.

I have successfully change the data-url using $(this).attr('data-url',value.url). What to do please help me out. Even my new data-url is not getting show in page source.

Answer

Moppo picture Moppo · Dec 19, 2015

In your line:

$(this).attr('data-url',value.url);

are you sure this refers to the right DOM object?

Try adding an id to the anchor:

<a id='face-url' data-url="htts://xyz@..." class="mybuttons"  data-type="facebook">

Then in your code, set the data-url attribute this way:

$('#face-url').data('url', value.url);

Now that you have set the attribute value, you have to be sure that the facebook API reads this attribute only after you've changed it