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です。見つかった場合は、スタイルが適用されます。

この方法は 1 行だけで、存在するかどうかを確認する必要がないため、私はこの方法を好み.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 に答える