从Ajax生成的DOM元素返回id
Returning id from Ajax generated DOM elements
我知道存在重复(jQuery:如何获取动态生成元素的ID?)但我尝试了解决方案,但无法解决问题。
ajax/jquery查询返回了一个表,当检查该表时,它会返回一个格式正确的表:
<table border="1">
<tbody>
<tr><td>Example</td><td class="del" id="1">Delete</td></tr>
<tr><td>Example2</td><td class="del" id="2">Delete</td></tr>
</tbody>
</table>
jquery代码为:
$('.del').click(function(){
var id = $(this).attr("id");
alert(id);
});
如果我把表直接放在HTML中,它可以正常工作,但是当它从ajax生成时,它甚至不会生成警报(chrome也不会返回错误)。
注意,如果这是一个愚蠢的东西,比如一个命名错误的id,我会提前道歉,但我已经想了3/4个小时了,结果被卡住了!
编辑:
ajax调用是:
$.ajax({type : 'POST', url : 'response.php'}).done(function(response){
$('#result').html(response);
});
按照以下重写javascript
$(document).on("click", ".del", function(){
var id = $(this).attr("id");
alert(id);
}); // jQuery 1.7+
有关详细信息,请参阅以下文章http://api.jquery.com/on/
这是使用委托,我建议使用它,而不是为每个新创建的元素设置多个处理程序。
$(document).on('click','.del',function(){
var id = this.id;
alert(id);
});
使用最接近的静态容器而不是文档作为委托目标会更好,但我不知道你的代码。。。
演示
您可以使用load函数来评估服务器上所有加载的js。使用$("#id").load(<url>,<callback of success>);
代替
http://api.jquery.com/load/
ajax调用在哪里?它是如何构建的?
根据您的ajax调用,您可以将函数放入回调中,然后它将附加到元素。
相关文章:
- react-让一个元素返回两个相邻的<tr>标签
- Javascript可见元素返回未定义
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用
- jQuery mMenu如何通过单击某些元素返回到上一节
- Ajax 元素返回完整的 html 代码
- Javascript:计算每个表的表行数,并向相应的元素返回一个值
- 激活 .stop() 后,将元素返回到其起始位置
- 访问 iFrame 中的元素返回空值
- Knockout.js 从 observableArray 中提取元素返回 undefined
- 获取 0 的文档元素返回什么
- scrollTop为javascript中的所有文档元素返回0,但滚动事件在body标记上触发
- 从Ajax生成的DOM元素返回id
- 如何在交换后将列表元素返回到其原始样式
- 文本元素返回"undefined"
- 从数组中获取随机元素返回相同的元素
- 从聚合物元素返回简单值
- React:将新插入的子元素返回给父元素以更新状态
- 元素返回NaN作为宽度
- 新添加的DOM元素返回null