添加样式到td-Element的子项

时间:2014-11-28 07:49:05

标签: jquery css

在我的表中,td-Elements有时包含textarea,有时是输入。 单击td,我将类“active”添加到元素中。

// Add Class to active cell
$(function() {
    var table = $('table').on('click', 'td', function() {
      $('.table tr td').removeClass('active');
      $(this).addClass('active');
    });
});

现在,我想更改输入或textareas的文本对数。

$("#left_align_btn").click(function() {
     $('td.active').css('text-align', 'left');
});

我怎样才能达到这样的风格将添加到活动td的所有“Childs(有时是输入,有时是textarea ......”)?

谢谢

3 个答案:

答案 0 :(得分:1)

在选择器中使用child combinatordescendant combinator

// Child:
$('td.active > input, td.active > textarea').css('text-align', 'left');

// Descendant:
$('td.active input, td.active textarea').css('text-align', 'left');

答案 1 :(得分:0)

要获得td的所有孩子,请使用

 $('td.active *').css('text-align', 'left');

要仅获取输入元素,可以使用like,

$('td.active :input').css('text-align', 'left');

答案 2 :(得分:0)

您必须使用float代替text-align,如下所示:

$("#left_align_btn").click(function() {
     $('td.active').css('float', 'left'); \\use float instead of text-align
});

或者如果你想对齐td标签的文本,你必须按照以下步骤进行对齐:

$("#left_align_btn").click(function() {
     $('td.active').find("input, textarea").css('text-align', 'left');
});