1
<ul class="tagsul">
              <li class="tagsLi"><div class="tagsSpan">test<img class="removeitem" src="../Images/Cross.png" onclick="UpdateTag(0, 2)"></div>,</li>
              </li>
          </ul>

呼び出されている関数は次のとおりです

function UpdateTag(data, index) {

    var $this = $(this);
    alert($this);
    $(this).parents('.tagsLi').remove();
    index--;
    //.remove('li:eq(' + index + ')');
}

多くの順列の組み合わせを試しましたが、関数が呼び出されたliノードを削除できません。助けてください。

4

4 に答える 4

0

$(this)これは、イメージ要素ではなくウィンドウを指します。

クリックと更新を検出するためにjqueryを使用しないのはなぜですか。私にとってはうまくいきます。

$(document).ready(function(){
var index = $('img').length;
    $('img').click(function(){
        var $this = $(this);
        alert($this);
        $(this).parents('.tagsLi').remove();
        index--;
    });

});

デモ JSFIDDLE

$(this)ここでは、クリックされているオブジェクトを$(this)指すように を使用できます。

または、他の回答で示唆されているように、これを関数で渡します。

于 2013-08-04T15:26:32.400 に答える
0
<html>
   <head>
      <script type="text/javascript"  src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
 </head>
<body>
   <ul class="tagsul">
          <li class="tagsLi"><div class="tagsSpan">test<img id="img12" class="removeitem" src="../Images/Cross.png" onclick="javascript:return UpdateTag(0, 2,this)"></div>,</li>
          </li>
      </ul>
</body>
</html>
 <script type="text/javascript">
  function UpdateTag(data, index,imgobj) {

  var img_obj = $(imgobj);

  alert(img_obj.parent('div').attr('class'));

    img_obj.parents('.tagsLi').remove();
   index--;
  //.remove('li:eq(' + index + ')');
 }
 </script>
于 2013-08-04T15:17:47.293 に答える