这对于经常使用JQuery的人来说可能是一个简单的问题。我只是从S3中读取一个列表到数组中,并使用...
在ID为“my-list”的div内建立一个ul。看起来像这样:
我有一个可排序的函数,它是:
这是问题所在。如果我像上面展示的那样将ul硬编码到我的HTML body中,sortable代码就可以正常运行。它会按照预期给ul和li元素添加ui-sortable类。但是如果我使用getElementById动态构建ul,基本的HTML渲染完全相同,但是sortable没有添加这些类。
这是否与DOM执行顺序有关?我无法弄清楚,也找不到其他类似的例子。当然,也完全可以考虑其他想法。
document.getElementById('my-list').appendChild(makeUL(options));
在ID为“my-list”的div内建立一个ul。看起来像这样:
<div id="my-list">
<ul id="sortable">
<li class="ui-state-default">LivePD</li>
<li class="ui-state-default">Football</li>
<li class="ui-state-default">Walking Dead</li>
<li class="ui-state-default">Survivor</li>
<li class="ui-state-default">The Voice</li>
<li class="ui-state-default">Shark Tank</li>
<li class="ui-state-default">DWTS</li>
<li class="ui-state-default">RHOOC</li>
</ul>
</div>
我有一个可排序的函数,它是:
<script>
$(function() {
$("#sortable").sortable();
$("#sortable").disableSelection();
});
</script>
这是问题所在。如果我像上面展示的那样将ul硬编码到我的HTML body中,sortable代码就可以正常运行。它会按照预期给ul和li元素添加ui-sortable类。但是如果我使用getElementById动态构建ul,基本的HTML渲染完全相同,但是sortable没有添加这些类。
这是否与DOM执行顺序有关?我无法弄清楚,也找不到其他类似的例子。当然,也完全可以考虑其他想法。
$("#sortable").sortable(); $("#sortable").disableSelection();
。 - amar9312