0

で動的に作成するいくつかのボックス(100以上)があります

<div id="window5"></div>
<div id="window18"></div>
<div id="window190"></div>

ここで、1 つのボックスをクリックすると色が赤になり、別のボックスをクリックすると色が赤に変更されます (最初のボックスの色は正常になるはずです)。このようなコードを使用しましたが、そうではありません。 css クラスを取得します。

このケースの動的 ID を取得するにはどうすればよいですか。

css ファイル:

.selected{ color: 赤; }

JavaScriptコードを次のように使用しました。

    <script type="text/javascript">

        $(document).ready(function () {

            $("div[id *= 'window']").click(function (e) {

                $(".selected").removeClass("selected");
                $(this).addClass("selected");
                e.stopPropagation();
            });
            $(document).click(function () {
                $(".selected").removeClass("selected");
            });
        });

    </script>
4

2 に答える 2

1

それはそれらが生成されるからです。.onステートメントを使用する必要があります。

 $("div[id *= 'window']").on('click', function (e) {

1.7より前のバージョンのjQueryを使用している場合は、.live()代わりに次を使用してください。

 $("div[id *= 'window']").live('click', function (e) {
于 2012-05-21T07:01:50.727 に答える
0

div を動的に生成するため、jquery の .live または .on を使用する必要があります。

div の背景色を変更するには、css で「color」の代わりに「background-color」を使用する必要があります。

http://jsfiddle.net/fFcua/

于 2012-05-21T07:05:50.593 に答える