1

I have a class in html like this below:

<div class="animsition">

Now I want to append a new attribute in that existing div using jquery. I like the animstion class will become:

 <div class="animsition" data-animsition-in-class="fade-in-left"
  data-animsition-in-duration="1000" data-animsition-out-class="fade-out-left"
  data-animsition-out-duration="800">

I tried but not work: $(".animsition").attr("data-animsition-in-class","fade-in-left");

How will I achieve this? Any help would be much appreciated.

3
  • getting error in console?by not working what do you mean? Commented Jun 1, 2016 at 10:28
  • There is no error in console. Commented Jun 1, 2016 at 10:29
  • 1
    Can you try console.log($(".animsition").length()) and see if it returns 1? If not, than JQuery can't find your div. Commented Jun 1, 2016 at 10:30

2 Answers 2

1

Just take care you have added attribute within document.ready()

$(document).ready(function() {
   $(".animsition").attr("data-animsition-in-class","fade-in-left");
});
Sign up to request clarification or add additional context in comments.

Comments

1

You can put all those attributes in one object and use for...in loop and attr()

var attr = {
  'data-animsition-in-class': "fade-in-left",
  'data-animsition-in-duration': "1000",
  'data-animsition-out-class': "fade-out-left",
  'data-animsition-out-duration': "800"
}

for (var a in attr) {
  $('.animsition').attr(a, attr[a]);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="animsition">Lorem</div>

Or you can use Object.keys()

var attr = {
  'data-animsition-in-class': "fade-in-left",
  'data-animsition-in-duration': "1000",
  'data-animsition-out-class': "fade-out-left",
  'data-animsition-out-duration': "800"
}

Object.keys(attr).forEach(function(a) {
  $('.animsition').attr(a, attr[a]);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="animsition">Lorem</div>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.