我正在尝试使用jQuery访问动态创建的id。
我正在动态创建<li>
元素,并在使用以下代码创建时添加id。
<?php foreach ($alerts as $a) : ?>
<li id="<?php echo $a['value']['alert_name']; ?>"><?php echo $a['value']['alert_name']; ?> <a href="#" class="edit-link tip-open" data-oid="<?php echo $a['oid']; ?>" data-eid="<?php echo $a['value']['alert_name']; ?>">edit</a></li>
<?php endforeach; ?>
这里我使用php数组的值为li元素添加了id。
现在我想用他们的id删除那个li。我的问题是,当我写(#id).remove()
时,它没有从页面中删除那个li元素。
当我查看页面查看源时,我发现Id不在那里,当我按下F5 id就在那里。
请帮助我使用动态分配的ID删除该li元素,然后重新加载页面。
我试图在名为jquery-func.js的文件中使用以下代码删除该li:
$("#"+response['aname']).remove();
此处响应数组包含id的名称。
根据我的分析,jquery没有得到那个动态id,因为当按F5 li时能够删除
答案 0 :(得分:1)
您可以尝试
$("li[id='"+id+"']").remove();
或者这也可行
$("#"+id).remove();
并确保id
应该不同且不重复
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以尝试通过类别识别元素来删除元素:
<?php foreach ($alerts as $a) : ?>
<li id="<?php echo $a['value']['alert_name']; ?>"><?php echo $a['value']['alert_name']; ?> <a href="#" class="edit-link tip-open" data-oid="<?php echo $a['oid']; ?>" data-eid="<?php echo $a['value']['alert_name']; ?>">edit</a>
<a class="yourClass">delete</a></li>
<?php endforeach; ?>
然后在你的jQuery中:
$(".yourClass").click(function() {
$(this).parent().remove();
});
答案 3 :(得分:0)
你有
<?php echo $a['value']['alert_name']; ?>
喜欢ID名称
然后你应该使用#
这个值名称我猜这个php echo的值是例如“foo”
然后我用:
$('#foo').remove()
答案 4 :(得分:0)
不依赖于ID或任何指标,您可以尝试这样
<li>
<a class="rmv">test</a>
</li>
在你的Jquery中
$('.rmv').click(function(){
$(this).parent('li').remove();
});
答案 5 :(得分:0)
如果你想删除li,那么很简单:
Java脚本代码:
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('a.delete').on('click', function(){
$(this).parent().remove();
});
});
</script>
PHP代码:
<?php
$alerts = array('Apple','Banana','Cat');
foreach ($alerts as $i => $a) : ?>
<li id="li_<?php echo $i;?>">
<?php echo $a; ?>
<a href="#" class="edit-link tip-open" data-oid="<?php echo $a; ?>" data-eid="<?php echo $a; ?>">edit</a>
|
<a href="#" class='delete'>delete</a></li>
<?php endforeach; ?>
我希望你明白:)