我正在尝试使用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能够删除
你可以像一样尝试
$("li[id='"+id+"']").remove();
或者这也可以
$("#"+id).remove();
并确保id
应该不同,并且不重复
选择动态创建的HTML元素。
现在您必须使用.on()
。
点击此处阅读更多
您可以尝试删除元素,方法是通过其类进行标识:
<?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();
});
您有
<?php echo $a['value']['alert_name']; ?>
类似ID名称
那么您应该将这个值名称与#一起使用
我猜这个php echo的值是例如"foo"
然后我使用:
$('#foo').remove()
不依赖于ID或任何指标,您可以像这样尝试
<li>
<a class="rmv">test</a>
</li>
在您的Jquery 中
$('.rmv').click(function(){
$(this).parent('li').remove();
});
如果你想删除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; ?>
我希望你能理解:)