2012-02-23 6 views
4

ОК, это неловко простой вопрос. Почему не работает следующий пример jQuery? Очевидно, предполагается, что «a» в таблице будет «привет».JQuery изменение содержимого ячейки таблицы

HTML код:

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

JavaScript (JQuery) Код:

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

ответ

7

использовать функцию HTML, как этот

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

, если вы хотите использовать innerHTML (это метод DOM , а не JQuery Method), сначала необходимо выбрать DOMElement.

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

Спасибо. Но почему не работает innerHTML? – user1069609

+0

@ user1069609 Посмотрите вторую часть в моем ответе – silly

+0

Еще раз спасибо, теперь понятно. – user1069609

3

Это не работает, потому что innertHTML этого свойства DOM элемента, а не объект JQuery. Вы хотите

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

Действительно! Благодаря! – user1069609

Смежные вопросы