jQuery - 一个foreach元素的addClass

时间:2014-04-04 23:05:12

标签: php jquery foreach

我在PHP中有一个foreach循环,我想用jQuery更改循环创建的一个元素的类。

PHP:

<? foreach($todos as $todo): 
    $id = $todo["id"];
?>
<div class="item">
  <a href="?action=do&id=<?=$i?>" id="do">[ ]</a>
  <a href="?action=undo&id=<?=$id?>" class="undo">[x]</a>
  <a href="?action=delete&id=<?=$id?>" class="delete">supprimer</a>
     <?=$todo['text']?>
</div>                           
<? endforeach; ?>
<div class="infos">3 restants</div>

jQuery的:

$(function(){
  $('.do').click(function() {
    $(this).addClass('.hidden');
  });
});

2 个答案:

答案 0 :(得分:3)

您应该在HTML中使用class="do",否则您将创建重复的ID。

<?php foreach($todos as $todo):  $id = $todo["id"]; ?>
     <div class="item">
        <a href="?action=do&id=<?php echo $id; ?>" class="do">[ ]</a> 
        <a href="?action=undo&id=<?php echo $id; ?>" class="undo">[x]</a> 
        <a href="?action=delete&id=<?php echo $id; ?>" class="delete">supprimer</a>  
        <?php echo $todo['text']; ?>
     </div>                    

<?php endforeach; ?>

你对undodelete说得对,你只是为do犯了这个错误。

答案 1 :(得分:2)

$(function(){
  $('#do').click(function() {
    $(this).addClass('.hidden');
  });
});

id是&#39;#&#39;。不是&#39;。&#39;