JQuery无法检测PHP Echo的结果

时间:2017-09-17 07:48:43

标签: javascript php jquery

在使用JQuery和PHP时,我遇到了以下问题:

有一个DIV类和#34; Drag"我使用了两次,一次用HTML进行硬编码,如下所示:

<div class='Drag'></div>

随后,PHP会在同一页面中生成此DIV,如下所示:

echo "<div class='Drag'></div>";

PHP代码由于AJAX调用而执行,所以这可能是问题的根源?

因此,该页面包含这两个DIV。此外,还有jQuery代码,如下所示:

$(".Drag").draggable();

但是,jQuery代码仅适用于以HTML编码的DIV,而不适用于由PHP生成的DIV。为什么?

2 个答案:

答案 0 :(得分:2)

您需要在ajax请求完成后再次运行$(".Drag").draggable()

当您第一次调用$(".Drag").draggable()时,页面上唯一的div就是用html创建的div。

答案 1 :(得分:0)

您在DOM完成加载之前运行javascript,因此在第二个div处于上下文之前或者jQuery库没有设置为迭代选择器。

可能解决问题的代码

$(document).ready(function() {
  $('.Drag').each(function() {
     $(this).draggable();
  });
});