Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使ui可排序以仅在CSS中的特定id上工作?_Jquery_Css_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Jquery 如何使ui可排序以仅在CSS中的特定id上工作?

Jquery 如何使ui可排序以仅在CSS中的特定id上工作?,jquery,css,jquery-ui,jquery-ui-sortable,Jquery,Css,Jquery Ui,Jquery Ui Sortable,我有一个可排序的.column类元素。 我在该列中有两个id: <div id="column1" class="column ui-sortable"> <div id="column2" class="column ui-sortable"> 然后,张开的手显示在第1列和第2列上,闭合的手显示在正在拖动的第1列上。但由于我只想在第1栏中打开一只手,我尝试: #column1 .ui-sortable{ cursor: grab; cursor:-we

我有一个可排序的.column类元素。 我在该列中有两个id:

<div id="column1" class="column ui-sortable">
<div id="column2" class="column ui-sortable">
然后,张开的手显示在第1列和第2列上,闭合的手显示在正在拖动的第1列上。但由于我只想在第1栏中打开一只手,我尝试:

#column1 .ui-sortable{
    cursor: grab;
    cursor:-webkit-grab;
    cursor:-moz-grab;
    cursor: url(https://mail.google.com/mail/images/2/openhand.cur), default !important;
}
但这与第1栏无关。我得到一个默认光标。为什么添加id对.ui可排序帮助程序有效,但对ui可排序帮助程序无效?我怎样才能让张开的手只出现在第1栏


谢谢大家!

您需要的CSS规则是:

#column1.ui-sortable
因为您希望指定id为“#column1”的元素,该元素具有类“ui sortable”,而不是任何具有类“ui sortable”的元素,该类是“#column1”的子元素

由于下面的讨论,我添加了一些关于CSS类和元素的基本信息:

<div id="column1" class="column ui-sortable">
在你的问题中,你使用了:

#column1 .ui-sortable { }
这将被解释为通过ID“#column1”查找元素,以及该父级的所有嵌套元素,这些元素具有类“ui sortable”。不匹配-因为元素本身具有类,而不是子元素。如果删除CSS选择器中的空格:

#column1 { }
#column1.ui-sortable { }
它被解释为通过ID“#column1”查找元素,该ID具有类“ui sortable”。这可能有点过重,因为ID应该是唯一的,但它解决了您的问题。 类为“ui sortable helper”的元素是div#column1的子元素,因此这里需要空间

<div id="column1" class="column ui-sortable">
    <div class="ui-sortable-helper">
    </div>
</div>

谢谢你的回复。那么#column1.ui-sortable不起作用,但#column1.ui-sortable起作用?空格有什么区别?@user1798531如果你有空格,请看我的答案。如果没有空格,请读:“parentSelector childSelector”:selector 1 with selector 2 gotcha!非常感谢!但我想知道为什么#column1.ui-sortable-helper不起作用。@user1798531不明白你的意思吗?当拖动对象时,我使用ui-sortable helper来闭合手。再说一次,我只想在第1栏看到它。但是对于这一个,#column1.ui-sortable-helper不起作用,但是#column1.ui-sortable-helper起作用。为什么没有空间可以用于ui可排序,而有空间可以用于ui可排序助手?
<div id="column1" class="column ui-sortable">
    <div class="ui-sortable-helper">
    </div>
</div>
#column1 .ui-sortable-helper { }