在使用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。为什么?
答案 0 :(得分:2)
您需要在ajax请求完成后再次运行$(".Drag").draggable()
。
当您第一次调用$(".Drag").draggable()
时,页面上唯一的div就是用html创建的div。
答案 1 :(得分:0)
您在DOM完成加载之前运行javascript,因此在第二个div处于上下文之前或者jQuery库没有设置为迭代选择器。
可能解决问题的代码
$(document).ready(function() {
$('.Drag').each(function() {
$(this).draggable();
});
});