2

我有 jQuery-UI 和 ui.item 对象的问题。我一直在尝试找出 ui.item 是否包含具有某个类的元素,但似乎我使用了错误的方法。

代码:

$('.contain').sortable({
     start: function(e,ui) {
          if(ui.item.has('.nipple'))
              ui.item.css('background','red');
     }
}).disableSelection();

你能向我解释一下,为什么我错了吗?

感谢您的帮助!

4

2 回答 2

2

尝试使用.find()

$('.contain').sortable({
    start: function(e,ui) {
        ui.item.find('.nipple').css('background','red');
    }
}).disableSelection();

这是一个工作演示:http: //jsfiddle.net/GGuqT/2/

它只是试图nipple在当前ui.item. 如果找到它,则应用该样式。

我更喜欢这种方法,因为它只是一行,无需检查是否.nipple存在。

于 2013-06-02T14:30:55.250 回答
0

来自 jQuery .has

描述:将匹配元素集减少为具有与选择器或 DOM 元素匹配的后代的元素。

所以我认为你需要检查length返回的对象

if(ui.item.has('.nipple').length > 0){
      //your code here
}
于 2013-06-02T14:24:54.890 回答