2012-02-23 75 views
4

好的,这是一个尴尬简单的问题。为什么下面的jQuery示例没有工作?显然它应该将表中的'a'改为'hello'。JQuery更改表格单元格的内容

HTML代码:

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

的JavaScript(JQuery的)代码:

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

回答

7

使用这样

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

的HTML功能,如果你想使用innerHTML(是一个DOM方法,而不是Jquery方法),您必须先选择DOMElement。

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

谢谢。但为什么innerHTML不起作用? – user1069609 2012-02-23 10:50:09

+0

@ user1069609看我的回答第二部分 – silly 2012-02-23 10:55:15

+0

再次感谢,现在很清楚。 – user1069609 2012-02-23 11:01:12

3

它不起作用,因为innertHTML是一个DOM元素的属性,而不是jQuery对象的。你想

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

确实!谢谢! – user1069609 2012-02-23 11:02:32

相关问题