日期:2014-05-16  浏览次数:20362 次

jquery 如何返回指定TABLE下面的同类TD
代码如下

var cell_is_dblclick=function(obj){//单元格点双击击事件
_cur_cell=obj;
cur_col=$(_cur_cell).index();
cur_row=$(_cur_cell).parent().index();
cur_cell_tagname=_cur_cell.tagName;
var cur_table=$(_cur_cell).parent().parent().parent();//返回单元格 所在的table
//alert(cur_table);

if ($(_cur_cell).hasClass("cell_seleted")){ //如果当前单元格是选中状态,就取消选中状态
//$(".cell_seleted").removeClass("cell_seleted");
$(cur_table).find(".cell_seleted").removeClass("cell_seleted");
cur_have_seleted=false;
cur_seleted_row=false;
}else{ //否则就加入选中状态
$(".cell_seleted").removeClass("cell_seleted");
if(cur_cell_tagname=="TH"){//如果是表头 就选中列
cur_seleted_row=false;    //当前选中的不是是行
$(_cur_cell).addClass("cell_seleted");
for(var i=0;i<=total_row-1;i++){
$(tbody).children().eq(i).children().eq(cur_col).addClass("cell_seleted");
}
cur_have_seleted=true;
}else{ //否则就选中行
//$(".cell_seleted").addClass("cell_seleted");
cur_seleted_row=true;   //当前选中的是行
cur_have_seleted=true;
$(tbody).children().eq(cur_row).children().addClass("cell_seleted");
}
}
}


现在的问题是执行取消选中状态时 会把同页面的所有拥有.cell_seleted 类名的td 全部取消, 而不是只取消当前表格的...

应该用什么命令只取消当前表格的选中状态..
jQuery JavaScript

------解决方案--------------------
取TABLE下的.cell_seleted
$(TABLE).find(".cell_seleted")
------解决方案--------------------

引用:
还有个问题
cur_cell_tagname=_cur_cell.tagName; 这句是正常的 但是改成JQ 格式
cur_cell_tagname=$(_cur_cell).attr("tagName"); 就无效了, 不知道什么原因

能直接用原API不是很好?为什么要JQ
$.att取调用 getAttribute( ),tagName 是DOM对象属性不是HTML节点上的属性,getAttribute取不了