JQuery :: Removing Dynamically Inserted HTML In Source Code
Jun 3, 2009
Why isn't this code working? I can add items but only remove the ones originally added in the source code, not the ones dynamically added.
<form><div class="list">
<div class="item">
<input type="text" value="" /> <a href=""class="removeitem">Remove this item</a>
</div><div class="item">
<input type="text" value="" /> <a href=""
class="removeitem">Remove this item</a>
</div><a href="" class="additem">Add item to list</a>
</div></form>
<script type="text/javascript">
// Add item to list
$('.additem').click(function(){
var template = $($(this).prev().get(0)).clone();
template.insertBefore($(this));
return false;
});
// Remove item from list
$('.removeitem').click(function(){
$(this).prev().parent().remove();
return false;
});
</script>
A simple one that is fooling me too much.The following function is returning a numeric value. I want to insert this value in html code. How can I do that?
Code: <script type="text/javascript"> function myFun() {
I'm new to js/jquery and this forum so please forgive my potentially off-scope js/jquery remarks. I've been running a lot of toggles to show, hide, etc... divs and other HTML elements. It's making my application incredibly nice navigation wise.
Now to put myself in my users shoes. Say one user toggles on and off the things they want and don't want until they are satisfied with all the content of the screen. (That is by the way the nature of my application. A user loads in various variables via PHP and other means and when satisfied, a PDF is generated for them containing all their preferred content.)
Because: When a user is at a point where all the content they are viewing is worthy of a PDF, it is also worth saving that HTML 'view' (classes switched, variable adjusted, etc...). I would call it 'Save this workspace' or something along those lines.
I don't have a direct question per se but am more interested in the views of others who have similar thoughts and moreover, what relationship has jQuery had in helping employing some method?
I've a problem: I need to retrieve (in javascript) the soure HTML code from a url without loading the page then put the HTML source code in a string variable to manipulate it. From this variable I need to get all the links to perform some operations.
Many ajax and javascript functions change the innerHTML of elements in the source, writing and rewriting things in the source
You can run any javascript function or action you want that would change the source, but when you view it, it will always show the original source before a JS function changed it
Is there a way to view the changed source after each time a JS functoin changes it??
for example: <span id="whatever">This is the original source code</span>
then you may run this piece of JS: whatever.innerHTML= 'Changed source code!'
but when you right click and press 'view source" you will always get this: <span id="whatever">This is the original source code</span>
I want to get the changed source code, maybe its possible to write the changed source code to another file, or use some kind of HTTP prog to read the changes on an html page?
I'm trying to write a script to remove <script> tags and everything between. This is to simply remove all Javascript from code automatically. I originally tried to split the input from a textarea using RegEx but I'm not getting matches properly.
View source code of external files in html like *.js and *.css For example: In this page I am Posting to, there are 24 *.js files. They are loaded but you can't see them. I would like to view some of these external javascript files for study. Not necessarily on this site, but where ever I find them.
I'm not exactly sure as to whether this question should be posted here or on the php forum, but I think it mainly has to do with fancybox's zoom feature. My problem is this.
I'm doing SEO for an already established site and this site has a features area with about three different options that use the fancybox zoom script. These boxes all contain pertinent information (SEO heavy) about each option as well as links to different sites. All of the info displayed is pulled from a database via php.
I would like to be able to display the descriptions as searchable content, and be able to track how many people click on the external links, but as it is now none of this shows up on the source code. The fancybox zoom feature seems to open up another window within my main page.
My question is this. Is there anyway that I can retain fancybox and get the content to come up under the source code? Or does this maybe even sound like an unusual effect from fancybox.
I can send some code later, if anyone needs it. I just didn't want to throw everything in here all at once, because it's quite a bit of code involved.
I got some code that loads divs from other web pages into a particular div in my main page. In other words, I click on a button, and this tells jquery to load afragment of a particular page into my main page. For instance if I have 5 web pages onrock stars, I could have 5 buttons, and each button could load one rockstar's biography into a div on the main page (and replace whatever was there before). This works, and I do see the content that it loaded. But when I do 'view source' in IE, I do not see that content (the bio of the rock star). Another clue that this content is not really there, is when I try and run some code on that content. The content (from those external pages) have divs with specific names, and I try and make them into collapsible panels by running the following short function:
I can't figure out how to coax JQuery in to selecting an element that is manually (dynamically) inserted in to the DOM after the page loads. For example: If I have HTML: <div id="bar"> World! </div>
Then I create a new element and insert it in to DOM: var foo = '<div id="foo">Hello</div>'; $("#bar").before($(foo));
I end up with this, which is great: <div id="foo">Hello</div> <div id="bar"> World! </div>
Now that's very nice, but later on I might want to do something different with the element I inserted, using JQuery to manipulate that new element. But if I try to do: myHappyEl = $("#foo"); Then myHappyEl will be undefined. JQuery doesn't see it, presumably because it go attached after JQuery was done watching for such things. How I can coax JQuery in to noticing the existence of new elements created not only in exactly the manner shown here, but in general after the DOM has fully loaded.
I've seen lots of suggestions addressing a possibly related but subtly different issue, wherein the solution is to use .live() to attach an event listener when an element comes in to being. That would be brilliant if I wanted to capture a click event or something, but I don't; I want to be able to select the dynamically added element(s). Perhaps there's a simple way to accomplish this using live(), but I haven't seen it yet. If there is a solution using live then I'd like to know what event and what function to trigger!
To make it simpler, i've got a div that I populate with buttons (via AJAX), each button has an ID of some table row. It looks like this:
<div id="mydiv"> </div> and buttons are defined like this: <input type="button" id="1" do_something="1" />
Now what happens - when page loads, I'm inserting buttons in that div with "id" attribute changed depending on some row within the database table.
[Code]...
it all works fine. Now, when I add another entry in the database and when I dynamically append yet another button - even tho it has the attribute "do_something" - the click action on it does nothing. I know how to get around this "problem" by adding bind action after I've inserted that button but it's literally duplicating my work. Is there way around this so that every newly inserted element has the action "click" bound to it if it fits the selector?
I need to get text data from a web page which are unfortenately inserted into <span> tag by jQuery so it's not actually involved in HTML source file. That means for me I can't get it by classic HTTPRequest (programmatically).
For example, on this page: [URL]
When you enter some text in the textbox, this text will show up under it. But when you open HTML source or download it using HTTPRequest (I do so in C# language but it shouldn't matter), the source won't contain entered text. And this text is what I'm trying get to.
I am building a custom shirt design app which uses an Ajax form to allow a user to upload an image, and once it is uploaded it is automatically placed in the next empty <li> in their little gallery... once it is in the gallery they can click on it and insert it into their shirt design. It's all done with Ajax so they never leave the page.
Here's the code that inserts the image into the page once it is uploaded: (this works perfect)
The problem is that if I click on one of the first five, it works, the image gets inserted into the shirt design. But if I click on that last one, which now has the image I uploaded in it, it doesn't get inserted into the shirt design. Is there a reason why?
I'm using some click events on normal <a> tags. When I rewrite the links within a html() method call, the click events no longer work. I've set up a very simple example here:When the page is loaded, clicking either of the 'link 2' links displays the correct information.When 'link 1' is then clicked, the main information is redisplayed. However, now, the 'link 2' link in the main paragraph doesn't work, although the 'link 2' link in the menu does.
The above is a simplified example of the problem I'm facing. I could merge functions into one big self-referencing function (i.e. recursive function), but that's ugly and causes other problems (such as when insert form elements and wanting to harvest the user input afterwards). I considered declaring a variable in the top ".ready" function, and have all child functions stuff their HTML changes in it, but that seems to be a pain to keep track of and removes much of the value of using jQuery in the first place...
Is there a nice solution for this? To, after inserting HTML, somehow update the HTML state referred to by jQuery in the non-local scope(s)?
I have a problem with jQuery appending new text to a div - but then not firing events attached to the inserted text.Let me explain. I have a div that contains a number of divs - the div has a link and a hidden form. Clicking on the link fires a slideToggle event which reveals the form.When you submit the form AJAX handles it and jQuery builds another div with the correct link and the correct form which it sticks on the end of the list. That all works fine and dandy.What I want to be able to do is to click on the newly-added link and have it behave in the same way as the other elements that were on the page when it was built. However, nothing happens when you click on it. Zip. Nadda. Rien du tout.Usually I have found a way round the problem - but I am slightly stuck on my current project. Apart from forcing a page reload, is there any way to get the browser to see the newly inserted link and apply the jQuery action to it?
I've used to an AJAX call to load a HTML table into div. This is working successfully. I know want to use a click event on buttons located within the inserted table.
The click event is triggering on buttons outside the inserted table but not on the buttons within the table.
Do I need to call some sort of refresh function to so that jQuery is able to pick up these events?
So today I have discovered some malicious JavaScript code inserted into a bunch of my pages on a webserver. Access to these pages through FTP is granted to 3 people, myself, my boss, and a contract programmer. Unfortunately, the FTP server wasn't set to log, so I can't tell for sure if it was the programmer, but my assumption and suspicion is that it was him.
This code was inserted at the bottom of multiple pages. I can't make heads or tails of it, but it cannot be good, whatever it is. When I view the page that it was on, I noticed the web browser connecting to [url]. Browsing to this page takes you to some foreign hosting site. Googling superseasilver.ru only provides a page that has this address listed in a blacklist.
I have a page that inserts a div after another div on my page. Basically this div and its content are generated by the server and outputted via Ajax when the user clicks a button.I have something like:
//Listener function $("div").click( function () { alert("thing"); });
Clicking any of the divs that were loaded on the page will give this alert however, clicking on this div that was inserted after the user clicks a button does not respond to this listener. I put my rendered html into the w3c validator and my page has no errors (because I thought that maybe I had a missing end tag which would cause jquery to not work).
I'm experimenting with dynamic loading of javascript using JQuery. So basically I have a loadScript function that accepts either the URL of a JS file or a javascript source in a string. For the former, I create a 'script' element, set its src attribute to the URL of the file and insert the element into the DOM's head element. So far it seems to work nicely. For the latter, I create a 'script' element, set its innerHTML to the JS string and insert it into the DOM's head element. This doesn't work so well. I *think* it's because the JS source in question contains:
$(document).ready(function() { // put all your jQuery goodness in here. });
It looks like the JS source in my string is stomping over parts of the DOM it shouldn't and changing existing elements.
I'm trying to dynamically create and remove items from a list, it works just fine. Sort of, I can remove items, and create items, but once an item has been created, I cannot remove it again, but I can remove the items present when the page loads.
Here is my code <div class="list"> <div class="item"> <input type="text" value="" /> <a href="" class="removeitem">Remove this item</a> </div><div class="item"> <input type="text" value="" /> <a href="" class="removeitem">Remove this item</a> </div><a href="" class="additem">Add item to list</a> </div><script type="text/javascript"> // Add item to list $('.additem').click(function(){ var template = $($(this).prev().get(0)).clone(); template.insertBefore($(this)); return false; }); // Remove item from list $('.removeitem').click(function(){ $(this).prev().parent().remove(); return false; }); </script> I can remove the 2 original items, but when I create new ones, they cannot be removed.
Adding a new plugin page only has Project resources section which only has links to refer.Is there any way by which I can just attach/upload my plugin source code instead of linking to some website?
When the tabs are initialized by this code:$( "#tabs" ).tabs(); , it displays the tabs in a way that I don't like. I want to trace into the actual 'tabs' function when this is called so I can see why it is doing what it is doing. I have not been able to find where this code is sitting.
Some background:I'm writing an iPhone web app that connects to a C# web server. When the user selects a particular button:- a post is made to the web server- the web server sends back html buttons.- the web app places the buttons in a #result <div> (using ("#result").html( content_received ); )The above works really well. The buttons are formated and displayed correctly. However, the buttons are not selectable. I have another JQuery command that will catch the button press and send a new query back to the web server.
I've looked at the html source, once the page has loaded, and even though the buttons are displayed, they are not reflected in the source. You only see <div id="result"></div> and no reference to the buttons. Now I'm guessing this why the buttons are not working.