Javascript / html:如何存储div,并在以后隐藏它的子节点

时间:2012-06-07 17:44:04

标签: javascript jquery html

我正在存储一个被选中的div

var selectedCell = null;
    $(".selectableBox").on('click', function (event) {
            selectedCell = $(this);
        }

后来我想隐藏一个selectableCell的子名称selectableCellChild

$('#deleteConfirmed').on('click', function (event) {

    selectedCellList.($'selectableCellChild').hide();
});

如何才能正确隐藏这个子div?我知道上面例子的语法不对,我尝试了很多方法,包括使用selectedCellList的children()和next()方法

4 个答案:

答案 0 :(得分:2)

selectedCellList.find('{selectableCellChild}').hide();

其中selectableCellChild是单元格真实选择器的占位符。

  

我尝试了很多方法,包括使用儿童() next()

  • children - 只穿过一层。
  • find - 深入遍历所有DOM级别。
  • next选择下一个直接兄弟姐妹。

答案 1 :(得分:1)

使用.find

selectedCellList.find('selectableCellChild').hide(); // I hope selectableCellChild isn't your real selector, it won't work

此外,在声明变量时,将其设为jQuery对象,因为您打算在其中存储jquery对象以避免未定义的方法错误。

var selectedCell = $();

答案 2 :(得分:1)

对于第二部分,这就是你想要的:

$('#deleteConfirmed').on('click', function (event) {
    $(selectedCellList).find('.selectableCellChild').hide();
});

答案 3 :(得分:1)

如果我理解正确,你试图隐藏被点击的div的孩子。试试如下,

var selectedCell = null;
$(".selectableBox").on('click', function (event) {
   selectedCell = $(this);
}); //Your missed );

$('#deleteConfirmed').on('click', function (event) {
   //v-- Changed from selectedCellList to selectedCell as this is the clicked div.
   selectedCell.find('.selectableCellChild').hide(); 
   //assuming selectableCellChild-^ is class of child elements in the clicked div
});