Мой JQuery не может выбрать ячейки таблицы, содержащие неразрывный пробел `` или `` - PullRequest
2 голосов
/ 24 февраля 2012

Вдохновленный постом JQuery изменяет содержимое ячейки таблицы , я пытаюсь изменить содержимое ячеек таблицы, содержащих определенную строку, которая включает неразрывные пробелы   или эквивалентно  , ноЯ не могу заставить это работать в моем случае.

HTML-код:

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

JQuery:

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

Не имеет никакого эффекта.

Другой вопрос: есть ли селектор более строгим, чем contains, выбирая только ячейки с заданной строкой?

1 Ответ

3 голосов
/ 24 февраля 2012

Если вы используете .filter () , вы можете выбирать элементы на основе любых пользовательских критериев.

$('#table1 td').filter(function()
{
    return $(this).html().indexOf('&nbsp;a') !== -1;

}).html('hallo');

или ответить на другой вопрос:

$('#table1 td').filter(function()
{
    return $(this).html() === '&nbsp;a';

}).html('hallo');

Это намного надежнее, чем написание извилистых селекторных строк.

...