Issue
I am trying to create a script that when a button is clicked it changes the class of a DIV and then reloads the content of that DIV.
So far I have created a script that successfully changes the class of the DIV.
document.addEventListener("DOMContentLoaded", function (event) {
jQuery("#button").click(function () {
document.getElementById("id").className = "newClass";
});
});
but I still need it to reload the content of the DIV with the new class. I have looked around for a solution and found the following code that I have tried to add:
$("#id").load(window.location.href + " #id");
But gives me the following error:
(index):470 Uncaught TypeError: $ is not a function
What am I doing wrong here?
Solution
In plain jQuery you would use:
jQuery(function($) { // DOM is now ready and jQuery's $ alias sandboxed
$("#button").on("click", function () {
$("#id")
.addClass("newClass")
.load(window.location.href + " #id");
});
});
but I'm not sure why would you use the same location.href - and how is that correlated to any "content refreshing".
Also, by doing the above you'll get yourself duplicated #id elements, one inside the other:
Initial state:
<div id="id">Test test test</div>
After clicking the "Button" one or more times:
<div id="id" class="newClass">
<div id="id">Test test test</div>
</div>
which is clearly not something you'd want.
Answered By - Roko C. Buljan
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.