0

jQuery を使用して、ReportViewer で取得したテキストを置き換えようとしています。テーブルセルにラップされた私のdivは、「空」をテキストとして表示します-これは、クライアント側で独自の書式設定されたテキストに置き換える予定です。

jQuery を使用して、div (td 要素内にある) にクラスを設定することができます。例:

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

しかし、何らかの理由で私はこれを行うことができません:

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

ページの他の要素でこれを試してみたところ、jQuery は動作します...しかし、この問題は ReportViewer (私は 2008 を使用しています) 固有のもののようです。

4

1 に答える 1

0

私が遭遇した重要な問題は、質問とは少し異なっていました。

私がクラスを設定していた方法-セレクターは一般的で、テーブルはdivとテーブルと行のスープでネストされていました。その多くは不必要ですが、ReportViewer のせいです。

したがって、解決策は、非常に細かいレベルでレベルを選択するために使用した特異性です。

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

そして、私はIE6で作業するのが恐ろしく、開発ツールバーがfirebugと同等ではないため、有罪をマークするためにスタイルを使用しました。

.persistent {
    background-color: Yellow;   
}

スクリプトの先頭に別の jQuery があったため、エラーを特定するのは困難でしたが、それがロジックを台無しにしていたことに気づきませんでした。

于 2010-05-17T14:23:04.547 に答える