2012-04-23 5 views
0

У меня есть список дивы, которые производятся динамически, которые в основном пользователи нажимают на одну из им Примера: На ДИВ Датах имеют данные квадрат = 0-1, а затем нажимают на сНе данных квадратных = 0,8, значения класса attr и значения data-square отправляются на сервер, а сервер утверждает, следует ли их заменять или нет. для замены. но первый внутренний DIV атр должен быть заменен на второй Thats щелкнул, и первый один должен иметь класс = пустойJQuery замены атр

перед тем, как отправить на сервер:

<div class="column" data-square="0-1"> 
<div class="GREEN"></div> 
</div> 

<div class="column" data-square="0-5"> 
    <div class="GREEN"></div> 
</div> 

<div class="column" data-square="0-8"> 
    <div class="YELLOW"></div> 
</div> 

это должно быть так, как только он получает назад от сервера

<div class="column" data-square="0-1"> 
    <div class="EMPTY"></div> 
</div> 
<div class="column" data-square="0-5"> 
    <div class="GREEN"></div> 
</div> 
<div class="column" data-square="0-8"> 
    <div class="GREEN"></div> 
</div> 

, но когда я получаю от сервера, удаляет весь класс под названием ЗЕЛЕНЫЙ, он должен заменить класс под названием ЗЕЛЕНЫЙ, который пользователь нажал на кулак время.

Я могу заменить и сделать первый div пустым, не отправив его на сервер, , но когда это произойдет, выполнение действий после получения всего класса будет удалено.

$.post("check.php", { from:from,to:to,classFrom:$classFrom,classTo:classTo}, 
     function(data) { 

    $($classFrom).children().removeAttr('class').addClass('EMPTY'); 
      }) 
+3

чем вопрос? –

+0

Селектор классов по определению выбирает все элементы DOM с тем же классом. Как определяется $ classFrom? Если $ classFrom определяется как $ ('. GREEN'), тогда он выберет все элементы с классом GREEN, как вы описали. –

+0

, поэтому единственным решением будет копирование всего div справа? – user1349526

ответ

2

Просто сделай это в 2-х линий, удалить старый, добавить новый:

$($classFrom).children().removeClass(classFrom); 
$($classFrom).children().addClass('EMPTY'); 
+2

Или только в одной строке: '$ ($ classFrom) .children(). RemoveClass (classFrom) .addClass (" EMPTY ")' –

+0

это дает мне classFrom undefined – user1349526

+0

Каковы значения, возвращаемые с сервера ? (То есть: от: от, до: до, classFrom: $ classFrom, classTo: classTo) –