A-A+

jquery中append $(this) 使用问题解决方案

2016年01月12日 web前端设计 暂无评论 阅读 6 views 次

append() 方法在被选元素的结尾(仍然在内部)插入指定内容,提示:append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容的位置和选择器。但我们append $(this)估计很少用到吧,下面来看使用时的一些问题。

js 代码

  1. <script type="text/<a href="/js_a/js.html" target="_blank">javascript</a>">  
  2.    
  3. $(document).ready(function(){  
  4.    
  5. //标签操作  
  6.    
  7.     $("[nctype='cms_tag']").live("click",function(){  
  8.    
  9.         var current_css = $(this).attr("class");  
  10.    
  11.         if(current_css == "btn-cms-tag") {  
  12.    
  13.             $(this).attr("class","btn-cms-tag-<a href="/tags.php/select/" target="_blank">select</a>ed");  
  14.    
  15.         $("#tags_selected_place").append($(this));  
  16.    
  17.         } else {  
  18.    
  19.             $(this).attr("class","btn-cms-tag");  
  20.    
  21.         $("#tags_place").append($(this));  
  22.    
  23.         }  
  24.    
  25.     
  26.    
  27.     });  
  28.    
  29.     
  30.    
  31. });  
  32.    
  33. </script>  

html

  1. <ul id="tags_selected_place">  
  2. </ul>  
  3. <ul id="tags_place">  
  4.    
  5. <li tag_id="8583" class="btn-cms-tag" nctype="cms_tag">爱人</li>  
  6.    
  7. <li tag_id="8299" class="btn-cms-tag" nctype="cms_tag">爱马仕</li>  
  8.    
  9. <li tag_id="8362" class="btn-cms-tag" nctype="cms_tag">爱琴海</li>  
  10.    
  11. <li tag_id="203829" class="btn-cms-tag" nctype="cms_tag">爱运动</li>  
  12.    
  13. <li tag_id="8642" class="btn-cms-tag" nctype="cms_tag">爱唯欧</li>  
  14.    
  15. <li tag_id="8277" class="btn-cms-tag" nctype="cms_tag">爱丽丝梦游仙境</li>  
  16.    
  17. </ul>  

直接使用 append $(this) 这样的方法,jquery会吧$(this)元素直接从$("#tags_place")中删除,再添加到$("#tags_selected_place")元素中。

$("#tags_selected_place").append($(this));

如果想要保留$(this)原来的位置需要使用$(this).clone()方法

$("#tags_selected_place").append($(this).clone());

标签:

给我留言