0

リストアイテムを受け取る関数があります。その場合、リスト アイテムのテキストの両側に 2 つの div を追加します。

<li class="sortedli">
  Call Type
</li>

次のようになります。

<li class="sortedli">
   <div class="sel-display-on">&nbsp;</div>
       Call Type
   <div class="sel-trash-on">&nbsp;</div>
</li>

しかし、私の機能

receive: function (event, ui) {
   $(this).prepend("<div class=\"sel-display-on\"></div>");
   $(this).append("<div class=\"sel-trash-on\"></div>");
}

このマークアップを生成します:

<div class="sel-display-on"></div>
<li class="sortedli" style="">Caller Id</li>
<div class="sel-trash-on"></div>

どうすればこれを修正できますか?

4

2 に答える 2

0

以下のようにしてみてください、

receive: function (event, ui) {
   $(this).html(function (idx, oldhtml) {
      return "<div class=\"sel-display-on\">&nbsp;</div>" + 
             oldhtml + 
             "<div class=\"sel-trash-on\">&nbsp;</div>";
}

どのjQuery UIウィジェットを使用していますか..受信関数はコールバック関数のように見えます..したがって、これはli要素ではない可能性があります. – ベガ

@Vega - 明らかにそうではなく、出力に基づいて、それはliの親です。– アデネオ 44 秒前

上記がうまくいかない場合は、以下を試してください..

receive: function (event, ui) {
   $('.sortedli', this).html(function (idx, oldhtml) {
      return "<div class=\"sel-display-on\">&nbsp;</div>" + 
             oldhtml + 
             "<div class=\"sel-trash-on\">&nbsp;</div>";
}
于 2012-08-28T17:03:23.940 に答える
0

.sortedliの親に追加/先頭に追加しています。コンテキストを使用して適切な要素を見つけます。

receive: function (event, ui) {
   $('.sortedli', this).prepend("<div class=\"sel-display-on\"></div>");
   $('.sortedli', this).append("<div class=\"sel-trash-on\"></div>");
}
于 2012-08-28T17:00:53.133 に答える