jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery-ui – jQuery可排序选择器(“id”与“class”)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有几个可排序的列表,我可以将元素拖到每个列表中.

设置看起来像这样

<ul id="sortable1" class="connectedSortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>

<ul id="sortable2" class="connectedSortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>

JavaScript很简单,看起来像这样

(以下来自jQuery网站的例子)

<script>
$(function() {
    $( "#sortable1,#sortable2" ).sortable({
        connectWith: ".connectedSortable"
    }).disableSELEction();
});
</script>

到现在为止还挺好…

题:

对于jQuery选择器,我可以使用ul类,而不是两个列表ID吗?

就像是:

<script>
$(function() {
    $( ".connectedSortable" ).sortable({
        connectWith: ".connectedSortable"
    }).disableSELEction();
});
</script>

这是正确的吗?

我试过这个并且它有效……

…但我想知道为什么jQuery网站给出了两个列表id作为选择器而不仅仅是类名的例子?如果我使用类作为选择器,我会遇到兼容性问题吗?

使用类名作为选择器的优点是我不必提前知道列表ID,理论上可以动态创建新列表?

什么是最佳实践和一种“错误证明”?

非常感谢!

解决方法

通过类选择是可以的,并且您的脚本是正确的.

在按类选择元素时,我从未遇到任何兼容性问题.

使用类名具有不必指定要匹配的所有元素的ID的冒险.如果在其他元素中错误地使用了类,那么它的缺点就是可以匹配比你想要的元素更多的元素.

按ID指定元素时,您确定只选择了预期的元素.因此,当您确切地知道要匹配哪些DOM元素并且知道它们的ID时,它会很有用;正如您所注意到的,如果您动态创建元素,这是不可能的.

我认为在你的情况下,最佳做法是使用类名.不要在CSS中使用您要匹配的类名;如果它负责格式化,你(或团队中的其他人)可能会忘记它给出的行为变化,并将其用于其他不相关的元素,仅用于格式化.这可能会导致错误.最好有单独的“行为”和“表示”类,在CSS中使用表示类,以及在jQuery中选择元素的行为类.

大佬总结

以上是大佬教程为你收集整理的jquery-ui – jQuery可排序选择器(“id”与“class”)?全部内容,希望文章能够帮你解决jquery-ui – jQuery可排序选择器(“id”与“class”)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。