Search code examples
jqueryhtml-tablecellinnerhtml

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";

Solution

  • 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";
        });
    });