Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
53
rated 0 times [  60] [ 7]  / answers: 1 / hits: 40654  / 15 Years ago, thu, february 4, 2010, 12:00:00

So I've seen three ways to add html/DOM elements to a page. I'm curious what the pros and cons are for each of them.


1 - Traditional JavaScript


I believe the straight JS way to do it is by constructing each element, setting attributes, and then appending them.
Example:


var myRow = document.createElement("tr");
myRow.class = "myClass";

var firstTD = document.createElement("td");
firstTD.innerHTML = "first";
myRow.appendChild(firstTD);

var secondTD = document.createElement("td");
secondTD.innerHTML = "second";
myRow.appendChild(secondTD);

document.getElementById("myContainer").appendChild(myRow);

2 - Appending a string of html via jQuery


I've noticed that most jQuery examples I see usually just append a string of html.

Example:


$("#myContainer").append('<tr class="myClass"><td>first</td><td>second</td></tr>');

3 - jQuery's .clone()


I've also seen a lot of uses and references to .clone() in jQuery.

Example:


$("#myContainer").append($(".myClass").clone());

I'd love to hear what others have to say about this.


(Also, this seems like a good candidate for a 'community wiki', but I'm not too familiar with them. Will someone comment and let me know if it should be? Thanks)


More From » jquery

 Answers
8

If you are using jQuery 1.4 the best way is the following:



$(<a/>, {
id: 'example-link',
href: 'http://www.example.com/',
text: 'Example Page'
}).appendTo(body);

[#97664] Monday, February 1, 2010, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
aileent

Total Points: 556
Total Questions: 107
Total Answers: 101

Location: Croatia
Member since Fri, Sep 11, 2020
4 Years ago
;