jquery - AJAX 调用后无法使用 DOM 元素

标签 jquery html ajax

我有一个大型 AJAX 响应,其中插入了大量 HTML。此后,我无法使用任何新创建的 ID 或类,就好像它们在加载表单时就存在一样。

我研究了 .live() ,它解决了我的一个问题,但没有解决另一个问题。

我基本上想通过单击链接时通过 AJAX .html() 插入的 ID 或类来显示 DIV。

示例:

代码:

html_out = "<div class='span-1'><a href='#' onClick='show_sub_row(\"#sub_row" + id + "\"); return false;'>[ + ]</a></div>";
html_out += '<div class="hidden_sub_row prepend-2" style="display: none;" id="#sub_row' + id + '">';
html_out += 'Content';
html_out += '</div>';
$('#search_results').html(html_out);

然后在创建 HTML 后我尝试:

function show_sub_row(sub_row) { 
$(sub_row).show('fast');
}

我知道它引用了正确的 ID,因为我可以执行警报(sub_row),并且它显示的正确 ID 与使用 FireBug 检查隐藏 DIV 时显示的 ID 相匹配。

最佳答案

除非 sub_row 是您在此处表示的代码之外的某个初始化变量,否则该 block 应该是:

function show_sub_row(sub_row) { 
$('#sub_row').show('fast');
}

此外,sub_row 的实际 HTML ID 包含 #性格可能会使查明真正的问题变得更加困难。我将其修改为:

html_out += '<div class="hidden_sub_row prepend-2" style="display: none;" id="sub_row' + id + '">';

关于jquery - AJAX 调用后无法使用 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5101124/

相关文章:

javascript - JQuery 或 Javascript 在带有文本数组的 DIV 中旋转文本

c# - 在 TableCell 中插入 DropDownList

jquery - 使用 Get 进行 ajax 调用会出现 500 错误

javascript - Google 如何在搜索引擎结果页面上呈现其结果

javascript - jquery ajax - 调用我的 asp.net web api 给出错误的 url 和 404 未找到消息

javascript - 如果我在密码字段中添加 # 作为模式,如何禁用提交按钮

javascript - 具有 1000 多行的 gridview 的切换/取消切换行的性能问题

php - 从单独的 .php 表初始化 dataTable

HTML 超链接失败 : Coding Clash?

javascript - 如何在单击图像时刷新特定的 div