0

我有几个盒子(超过 100 个)将动态创建

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

现在如果我点击一个框颜色应该是红色,然后如果我点击另一个框颜色应该变成红色(第一个框颜色应该正常)。我使用了一些这样的代码,但它不是参加 CSS 课程。

我怎样才能得到这个案例的动态 id。

css 文件:

.selected{ 颜色:红色;}

使用 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) {

如果您使用的 jQuery 版本早于 1.7,请.live()改用:

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

您将不得不使用 jquery 的 .live 或 .on 因为您动态生成 div。

要更改 div 的背景颜色,您必须在 css 中使用“背景颜色”而不是“颜色”。

http://jsfiddle.net/fFcua/

于 2012-05-21T07:05:50.593 回答