我遇到jQuery-UI和ui.item对象的问题。我一直在trying找出ui.item是否包含某个类的元素,但似乎我使用了错误的方法。
代码:
$('.contain').sortable({
start: function(e,ui) {
if(ui.item.has('.nipple'))
ui.item.css('background','red');
}
}).disableSelection();
你可以向我解释一下,为什么我错了?
感谢您的帮助!
答案 0 :(得分: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
是否存在。
答案 1 :(得分:0)
来自jQuery .has
描述:将匹配元素集减少到具有的匹配元素集 与选择器或DOM元素匹配的后代。
所以我认为您需要检查返回对象的length
if(ui.item.has('.nipple').length > 0){
//your code here
}