Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert image into table cell in Javascript

I want to insert images to the new cell just created. How can I do it? Can anyone guide me in doing it? Here's my code to insertcells:

  <!DOCTYPE html>
    <html>
    <head>
    <script>
    function displayResult()
    {
    var firstRow=document.getElementById("myTable").rows[0];
    var x=firstRow.insertCell(-1);
    x.innerHTML="New cell"
    }
    </script>
    </head>
    <body>
    
    <table id="myTable" border="1">
      <tr>
        <td>First cell</td>
        <td>Second cell</td>
        <td>Third cell</td>
      </tr>
    </table>
    <br>
    <button type="button" onclick="displayResult()">Insert cell</button>
    
    </body>
    </html>

All I want is to insert image in the cell created.

like image 737
user2462483 Avatar asked Jun 07 '13 07:06

user2462483


People also ask

Can you insert an image in a table cell?

Go to the Insert tab. Click on the Pictures option (it's in the illustrations group). In the 'Insert Picture' dialog box, locate the pictures that you want to insert into a cell in Excel. Click on the Insert button.

How do you insert an image in JavaScript?

Create Image Element in JavaScriptCreate an image element using the createElement() method on the document object. Then, set an image URL to its src attribute. Finally, add the image element to the DOM hierarchy by appending it to the body element.

How do I insert an image in a table cell in HTML?

Use the <img> tag to add an Image inside the <td> element in HTML. Create a table using the <table> tag and give it a border of 4 px using the border attribute so that we can see the table border.

Can we insert an image in a table cell using the IMG tag?

Answer: Yes, we can insert image in a table cell by using <img> tag within the <td> tag.


2 Answers

You can create the image element and append it to the new cell:

function displayResult()
{
    var firstRow=document.getElementById("myTable").rows[0];
    var x=firstRow.insertCell(-1);
    x.innerHTML="New cell";

    var img = document.createElement('img');
    img.src = "link to image here";
    x.appendChild(img);
}

Beware of building the raw HTML for the image, if you do it that way you'll need to make sure that you escape the src and any other attributes.

like image 143
MrCode Avatar answered Oct 17 '22 12:10

MrCode


Simply set the inner HTML of the new cell to the HTML of an img element, with whatever src or attributes you wish.

function displayResult()
{
    var firstRow=document.getElementById("myTable").rows[0];
    var x=firstRow.insertCell(-1);
    x.innerHTML="<img src='myImageURL' alt='hello'/>";
}
like image 8
p e p Avatar answered Oct 17 '22 12:10

p e p