user1069609
user1069609

Reputation: 871

JQuery changing content of table cell

OK, this is an embarrassingly simple question. Why doesn't the following jQuery example work? Obviously it is supposed to change the 'a' in the table to 'hello'.

HTML code:

    <table id='table1'>
      <tr>
          <td>a</td>
          <td>b</td>
      </tr>
    </table>​

JavaScript (JQuery) code:

    $("#table1 td:contains('a')").innerHTML="hello";

Upvotes: 5

Views: 18906

Answers (2)

silly
silly

Reputation: 7887

use the html function like this

 $("#table1 td:contains('a')").html("hallo");

if you want use innerHTML (is a DOM method, not a Jquery Method), you have to select the DOMElement first.

jQuery(document).ready(function(){
    $("#table1 td:contains('a')").each(function(){
    jQuery(this)[0].innerHTML = "Hallo";
    });
});

Upvotes: 9

Nicola Peluchetti
Nicola Peluchetti

Reputation: 76900

It doesn't work because innertHTML is a property of a DOM element and not of the jQuery object. You want

$("#table1 td:contains('a')").html("hello");  

Upvotes: 4

Related Questions