JQuery не заменяет текст в ReportViewer - PullRequest
0 голосов
/ 17 мая 2010

Я пытаюсь заменить текст, который я вернулся в ReportViewer, используя jQuery. Мой div, завернутый в ячейку таблицы, отображает «пустой» в виде текста, который я планирую заменить своим собственным форматированным текстом на стороне клиента.

Я могу просто отлично использовать jQuery для установки класса в div (который находится внутри элемента td). Пример:

jQuery('div:contains("empty")').addClass('replacetext');

Но по какой-то причине я не могу сделать это:

jQuery('div:contains("empty")').replaceWith('<div>Hello World</div>');

Я попробовал это на некоторых других элементах на странице, и jQuery работает ... но похоже, что эта проблема связана с ReportViewer (я использую 2008).

1 Ответ

0 голосов
/ 17 мая 2010

Ключевая проблема, с которой я столкнулся, немного отличалась от вопроса.

То, как я настраивал класс - селектор был общим, а таблица была вложена в суп из элементов div, таблиц и строк. Многие из которых не нужны, но обвиняют в этом ReportViewer.

Таким образом, решение заключается в специфичности , что я и использовал для выбора уровня на очень детальном уровне:

jQuery(document).ready(function() {
    jQuery('#container table table div:contains("empty")').addClass('persistent');
});

И я использовал стиль, чтобы отметить виновных, так как у меня ужас работы с IE6, а панель инструментов dev не вровень с firebug.

.persistent {
    background-color: Yellow;   
}

Трудно было точно определить ошибку, так как у меня был другой jQuery в верхней части скрипта, который я не заметил, который испортил логику.

...