2012-05-21 2 views
0

Am, имеющие несколько коробок (более 100), которые будут создавать динамически сOnClick ДИВ цвет должен изменить

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

Теперь, если я нажимаю на одном боксе цвет должен быть красным, а затем, если я нажимаю на другой ящик цвет должен быть изменен на красный (первый цвет коробки должен нормализоваться). Я использовал некоторый код, подобный этому, но он не принимает класс css.

Как я могу получить идентификатор dynmic этого случая.

CSS файл:

.selected { цвет: красный; }

использованный javasscript код as;

<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> 

ответ

0

Вы должны будете использовать JQuery в .live или .На потому что вы создаете дивы динамически.

Чтобы изменить цвет фона в div, вам нужно использовать «background-color» в css вместо «color».

http://jsfiddle.net/fFcua/

1

Это потому, что они сгенерированы. Вы должны использовать инструкцию .on.

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

Если вы используете версию JQuery старше 1,7 используйте .live() вместо:

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

Он должен выбрать между '' live' и on' в зависимости от версии JQuery он использует. +1 однако –

+0

Итак, истинный Мухаммад. Поэтому, если вы используете версию 1.7+, используйте '.on()', иначе используйте 'live.()'. –

Смежные вопросы