如何使用jQuery选择每个同级的子标记?

如何使用jQuery选择每个同级的子标记?,jquery,children,siblings,Jquery,Children,Siblings,HTML: 东西 东西 //等等。 东西 东西 //等等。 任何给定行的每个都将是特定的颜色。单击表格单元格时,我希望向单击的添加黑色边框,并从单击的行(但不在其他行)中可能已具有黑色边框的任何单元格中删除黑色边框。我该怎么做 jQuery(不工作): $(文档).ready(函数(){ $(“div.color”)。单击(函数(){ $(this.sibbins().removeClass('black_border'); $(this.addClass('black_border');

HTML:


东西
东西
//等等。
东西
东西
//等等。
任何给定行的每个
都将是特定的颜色。单击表格单元格时,我希望向单击的
添加黑色边框,并从单击的行(但不在其他行)中可能已具有黑色边框的任何单元格中删除黑色边框。我该怎么做

jQuery(不工作):


$(文档).ready(函数(){
$(“div.color”)。单击(函数(){
$(this.sibbins().removeClass('black_border');
$(this.addClass('black_border');
});
});
鉴于此(除非您在单击处理程序中选择了
stopPropagation()
,或
返回false
),单击将冒泡到
td
元素,只需在jQuery中瞄准
td

$(this).closest('tr').find('td').removeClass('black_border');
或者,有点不同:

$("td").click(function() {
    $(this).siblings().removeClass('black_border');
    $(this).addClass('black_border');
});
而且,考虑到您不止一次使用了
$(this)
,因此值得缓存它,而不是每次都重新创建jQuery对象:

$("td").click(function() {
    $(this).closest('tr').find('.black_border').removeClass('black_border');
    $(this).addClass('black_border');
});
$(“div.color”)。在('click',function()上{


}))

div.color没有任何兄弟姐妹。你需要做$(this)。parents('tr')。find('div.color')。removeClass('black_border');谢谢!就是这样。我感谢你的帮助。
$("td").click(function() {
    $(this).siblings().removeClass('black_border');
    $(this).addClass('black_border');
});
$("td").click(function() {
    $(this).closest('tr').find('.black_border').removeClass('black_border');
    $(this).addClass('black_border');
});
$("td").click(function() {
    var that = $(this);
    that.closest('tr').find('.black_border').removeClass('black_border');
    that.addClass('black_border');
});
var $td= $(this).parent();
$td.siblings('.black_border').removeClass('black_border');
$td.addClass('black_border');