$('#spopupnamestr').click(function(event){
if($(event.target).hasClass("nameitemX")){
this.removeChild(event.target.parentNode);
//$(this).remove($(event.target).parent()); ??
$("#" + $(event.target).attr("id").substr(2)).removeClass("spopupname_active");
//生成ID序列
getSelectItemId();
}
if($('#spopupnamestr .nameitemX').is("div")) return false;
});如上述代码:
移除一个DOM节点时,我用jQuery方法 $(this).remove($(event.target).parent()) 不行,最后我只好用javascript原来的方法:this.removeChild(event.target.parentNode);。。请问这是为什么?另外问一下,大家觉得jQuery的效率如何呢?我觉得他的选择器的确强大,但是效率怎么要呢?

解决方案 »

  1.   

    jQuery确实很好用,坐等楼下强人
      

  2.   

    我不知道你是怎么想的 this.removeChild(event.target.parentNode);
    你想通过子元素去移除这个子元素的父节点?不知道你成功没有
      

  3.   

    应该写成这样?
    $(event.target).parent().remove();
      

  4.   

    不搞js有点久了,jQuery的选择器是Sizzle,也是一个单独的开源项目,听说这个选择器引擎的效率高于其他框架的选择器效率,不过这还得看使用者的使用的功力了
      

  5.   

    你不说我还真没意识到,哈哈,通过子节点remove父节点!!!,但是我这样用this.removeChild(event.target.parentNode);还真的成功了,没有问题。