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