for($v=0;$v<11;$v++) {
echo "<div class='unsubscribed'><a class='button'>Unsubscribe</a></div>";
echo "<div id='$v'></div>";
}
我希望onclick取消订阅的类以在同一次迭代中删除下面的div。所以为此,我必须将$ v传递给jquery。
这是我从jquery开始但我不知道如何获得变量$ v。我该如何做到这一点?
$.ready(
function() {
$('.unsubscribed').remove();
}
);
答案 0 :(得分:5)
你不需要将任何内容传递给jquery:
$(document).ready(function(){
$('.unsubscribed').one('click',function(){
$(this).next().remove();
});
});
这适用于您当前的HTML 为了更安全,您应该为要删除的元素添加一个类:
for($v=0;$v<11;$v++) {
echo "<div class='unsubscribed'><a class='button'>Unsubscribe</a></div>";
echo "<div class='to_be_removed'></div>";
}
通过这种方式,您可以引用要删除的div,而不必在unsubscribed
div之后:
$(document).ready(function(){
$('.unsubscribed').one('click',function(){
$(this).next('.to_be_removed').remove();
});
});
答案 1 :(得分:0)
更好的解决方案可能是:
<?php for($v=0;$v<11;$v++) { ?>
<div class="unsubscribed" rel="<?php echo $v; ?>">
<a class='button'>Unsubscribe</a>
</div>
<div id="<?php echo $v; ?>"></div>
<?php } ?>
$(document).ready(function(){
$(".unsubscribed").click(function(){
var div_to_remove = $(this).attr("rel");
$('#'+div_to_remove).remove();
});
});
我更喜欢这样做,因为当您在中间添加内容时,使用.next
有时会导致问题。那时很难找到问题。
这样,您只需将有关要删除的div的所需信息嵌入到触发事件的div的属性中。
注意:在此示例中,单击.unsubscribed
div时调用该函数 - 而不是.button
。
您还必须确保,可移动div
具有不同且唯一的ID。如果$v
不是唯一的,您可以执行以下操作:像这样的东西:
...
<div id="<?php echo $v . $i; ?>"></div>
...